I don't know nothing about Visual C++, but you have plenty of IDE who can run on linux _AND_ windows (and maybe others): ECLIPSE + CDT, Code:Blocks. Some of them run on linux and maybe on windows Anjuta... And you have KDevelopp who run on linux (and maybe other UNIX). This list is far from complete.
KDE and GNOME are only windows manager, the 'look and feel' of your unix environment, GNOM use gtk library, and KDE use Qt library, but you can develop (and run) your application with gtk on KDe if you want.
The problem is if you have used MFC or any microsoft specific objects and framework, then the work to port your application to another framework will be huge, maybe you can find some wrappers, I don't know. Another way could be to run your application with wine, which is a kind of windows emulator.
Another point is that you can develop a multiplateform (a the cost of a recompilation of your code) with gtk or Qt since both libraries exist under Windows environment. So, IMHO, the best to avoid future trap for huge cost migration is to use a open source and multiplateform library with a multiplateform and open source IDE.