Well, the use of
CoRegisterSurrogateEx() turned out to be easier than I expected. I buildt a small managed sample to try it out, and the result is here*.
Of course, this API seems to be pretty undocumented, but a quick Google search turned up this, which was enough to get me started.
*: Since I'm a lazy sob, the sample as is won't run on Win2k, since the server application uses the ApplicationID attribute. Getting around it is left as an exercise for the reader :)