I may be behind the times with the 4 libraries, but you may also need to include the xmlserializers include to match the proxy stub library for .net 2 and greater. I have in the past for both 2.0 and 2.5 to avoid the long just in time serialization because of the anyType usage in VI.
Now you that may be implied in your question, but just wanted to be clear as wiating a couploe min for JIT serialization can be very painful.
As for your compatibility question yeah if you were only talking to vc 2 or esx 2.5/3 you could use the standard Vim namespace. If you wanted to talk to (and use all the new methods) of VI 2.5 or vSphere 4 you will need to use the Vim25 namespace.
J