Bei Microsoft kannst du die Visual Studio 2005 Express Edition für mehrere Sprachen herunter laden (C++, C#, VB#). Wenn du die bis zum November 2006 runterlädst, hast du eine ewige Lizenz.
Bei den .NET-Sprachen kannst du sofort loslegen, bei C++ müsstest du für Win32-Applikationen noch ein Platform SDK (und ggf. ein DirectX SDK) runterladen und nach den Angaben einrichten.
Hat auch ein paar Nachteile, es gibt keinen Dialog-Editor (ist für zahlende Kunden vorbehalten), und da gabs noch was mit den Runtime-DLLs (die meisten haben die neuen DLLs natürlich noch nicht). Auch sind die einzelnen Sprachen nicht unter einer IDE, sprich für C++ und C# sind zwei Programme zu starten (bei Visual Studio 2003 sind die unter einem Dach).
Zum Luftkeks-Preis bekommst du dafür aber ein mächtiges Entwicklerpaket mit einem sehr guten Debugger, alleine das Testen lohnt.