My standard answer to questions like this is, "virtualization is great; be aware of its limitations".
I would never rely on a purely-virtual implementation of anything that's an infrastructure-level service (eg the authoritative DNS server for your site; management and monitoring tools).
I work for a company that provides server and network management tools. We are constantly trying to overcome the marketing chutzpah of virtualization vendors in that infrastructure tools shouldn't live in infrastructure tools.
Virtualization wants to control all of your services. However, there are some things that should always exist on physical hardware.
When something goes wrong with your virtual setup, troubleshooting and recovery can take a long time. If you're still running some of those services you require for your company on physical hardware, you're not dead-in-the-water.
Virtualization also introduces clock lag, disk and network IO lag, and other issues you wouldn't see on physical hardware.
Lastly, the virtualization tool you pick then becomes in charge of all of the resources under its command for its hosted VMs. That translates to the hypervisor - not you - deciding what VM should have priority at any given moment. If you're concerned about any tool, service, or function being guaranteed to have certain resources, it will need to be on physical hardware.
For anything that "doesn't matter", like web, mail, dhcp, ldap, etc - virtualization is great.
If you are really worried about performance you could dual boot with boot camp. In addition to that I believe that Parallels has bootcamp support, so you can even virtualise your Windows partition.
Having said that if you are going to virtualise I would recommend that you use XP, purely because you can't take advantage of graphics hardware for all the flashy effects in vista. If you do choose vista I would recommend that you turn aero off.
As for the version of visual studio 2008, you should find out what you need it for (you indicated that you already use dev-c++) and pick the version that supports all of your required features. While I'm at it I will also suggest you check out eclipse and the CDT if you are sussing out new IDEs.
Just as a final tip, if you want to utilise the full 4Gb of ram, you will need a 64bit OS.
Good Luck.
Best Answer
Application testing in multiple environments is one obvious use of virtualization that I'm aware of. Testing your application on other operating systems (without requiring additional physical computers to do so), as well as testing that involves software that generally only allows you to install a single version on a given machine (such as the Internet Explorer browser; running both IE6 and IE7 on the same machine is not an officially supported configuration), are good candidates for virtual machine usage.