Although for most issues it is perfectly acceptable to use MS products for development, I really suggest that for someone who has a lot of programming experience, that you try to go the GNU direction with c++.
I fully understand the advantages of using a powerful IDE such Visual C++, however, imho it is *too powerful* at hiding away lots of serious details, such as compile and build options, while providing none of the serious multi-platform tools that most open source projects take advantage of these days. Projects such as Firefox build effortlessly on multiple targets because they make use of GNU autotools, which is pretty much the most advanced build system in the world.
So whilst I recommend VC++ as a nice piece of c++ programming software (auto complete etc) I wouldn't recommend it for the serious developer who wants platform independance. I would recommend using Eclipse on linux. You don't have to make your code open source, you can do whatever you want - but you will have a great deal more control and flexibility, not to mention future proofing, in this way. Not to mention, that if you did want to go open source, there are about 8 million seriously powerful projects that are available to support your application, OpenSG/OpenGL, libcURL, libxml/xerces, GTK, etc etc, which might also work on windows but are generally a pain because of the way windows is set up.
Just a thought, anyway, I'm not a complete evangelist ^^.