As for objects themselves, as long as you link against your stdcxx library for some of the runtime stuff needed by C++ code, you should be fine. This is not a simple task though, each compiler has their own method of invoking methods, their own standard for where the object pointer must be located (sometimes ECX, sometimes EDX, and sometimes the stack), and each compiler will layout the object's memory (VMT, VDT, static method references, etc) in very different ways. If you are really brave, you might look into the source code for ObjASM32 and ATC (I learned a ton about OOP from Homer, Ultrano, and Biterider). In the end, you're probably going to need to reverse engineer some example objects with your MSVC compiler to learn how it structures it's objects (I suggest IDA Pro for this task). Start with basic static objects and work your way up to dynamic multi-inherited objects. Another good starting point would be to look into the COM+ interface. Many assembly coders make use of this framework for things like DirectX access and it is nothing more than a 3-tier OOP model.
Good Luck,
Bryant Keller