Anyone doing work with managed C++ dlls should check out this article (http://msdn.microsoft.com/library/en-us/dv_vstechart/html/vcconMixedDLLLoadingProblem.asp).
Currently, I'm waiting for Visual Studio 8 (Whidbey) before messing around too much with managed C++, among other things such as a fix for the above problem, managed C++ is supposed to get a less-horrible syntax (a new type modifier similar to *, ^, which denotes a gc object handle (as in System.Blah something^ = ...), and no more __underscores required for almost every single managed declaration).
Maybe then will I considered c++ with managed extensions. Right now it just looks like the most horrific language/idea ever devised.
Why use bad syntax when you don't have to?