OK. How performant does this need to be ?  How many threads ?

My initial reaction to this is to use COM, mainly because you have the issue of hosting the CLR, and the Managed C++ code (obviously) needs the CLR - I'm presuming that Maya doesn't host the CLR.

So rather than using Managed C++, just bypass C++ altogether, and expose your Manged Code via COM.

Well, you still need to write the Maya DLL, so you probably still need to write that using C++. But these stubs would be interopting via COM.

If you want to write something rapidily (prototype), then depending on the Interfaces Maya expects, you could probably whip up a Native DLL using VB6 - COM is native to VB6, whereas for C++, you probably end up using ATL. Raw COM from C/C++ is ugly...