> (If they were direct dependencies --- meaning that .Net bindings used them
> directly --- then Mono couldn't exist.)

I don't know all the details but I do know that .Net is written in C++/com and mono does not have any com.

Correct me if I'm wrong but I think calling native from managed is somewhat cross platform via p/invoke but the other way is achieved through either microsoft's api or through mono's api as described here.

I said in my previous email that afaik there isn't a com for *nix but I have since found this that you could try as a drop in replacement. Best of luck if you try this approach.

Thanks

Tim