The socket you are sending stuff to is using the so called Proxy Orbiter. It is a kludge that was created for the web orbiter in the first place. A "real" orbiter doesn't talk to the socket of Proxy Orbiter, but sends and receives messages to dcerouter.
There is already a .NET implementation of touch orbiter, UnOrbiter.NET. http://svn.linuxmce.org/trac.cgi/ticket/795
It is part of the kludge, though, so it probably doesn't help get you towards your goal.
You might be able to import the DCE libs into you C# project and go that route.