Tilmann,
I was the original author of the user-switching feature, because I got fed up with logging in time and again while developing workflow. Without looking, I doubt that anybody have really spent much effort trying to keep it up-to-date, including me.
At the time it was developed, [ad_conn user_id] wasn't used. So indeed, one approach would be to overload that one, too. Or we could find a whole new way of doing things, by hacking into the procs parsing the cookies, or see if there's some other single spot that we can hack the user-identification chain for our purposes.
Hm. Rambling here. Haven't actually looked at the code.