This will be a Windows Forms application deployed through ClickOnce.
The plan is to use the WebBrowser control to expose a web application that makes use of Active-X controls. Using window.external and InvokeScript, the objects will be replaced with references to Reg-Free COM objects (SXS). I know this sounds like a mess, but it's a lesser evil, and I'm on a tight schedule. Eventually, the SXS part can be replaced, and hopefully the server-side code can be updated with something better.
Will there be serious performance problems with this? How much trouble am I asking for with this?

Will targetting .NET 2.0 make it easier to have code that is portable between Mono and .NET?
Is VB.NET code troublesome to port to Mono? I'm assuming it shouldn't be? (I am working with VB6 programmers).

The docs say that window.external is not available under Mono. It sounds like there are plans to implement this. Is it safe to just use window.external now and wait for Mono to implement it?
Or, is there a way to emulate this?

I have other plans to slowly make the code more portable, and I'm hoping I can use this as a sort of method (read: loophole) to make it possible.

If you have suggestions on attitudes and states of mind, I'd be happy to hear them too. But please try to answer my main concerns first. Thank you.