If you want to actually program Windows software, to be run solely on using Windows APIs in Visual Studio, I don't think gcc or XCode is really going to cut it. Generally, if you wanted to do that and you wanted to develop on Apple hardware, your major options are to run Windows in either virtualization (Parallels / VMWare, etc) or directly (Bootcamp).
Also, one thread per topic, please. If you're not sure where it should go, put it in what you think is the most appropriate forum (no cross-posting) and we will move it if necessary.