Why are you using Visual C++ running on .Net? I would recommend you either switch to Native C++, or use a better .NET language like C#. To be honest I'm not sure that Mono can handle the managed C++ thing.
If switching to native C++, then be sure to abstract away any platform specific bits. Also, be sure that your application will run on both 32 and 64 bit. Use platform-independent APIs such as GTK or WxWidgets.
If you switch to C#, then read up on what some of the APIs are that Mono does not(and never will) support. Do not do any unsafe code or P/Invokes.
And no matter which way you choose, Always regularly test your program on Windows and Linux. If it works on Linux it usually works on Mac too, but I'd test on all three at least once a day