I (predictably) recommend C#. I've used at least 25 different programming languages in my career, and C# is easily the best. The latest version (3.0 aka 2008) is awesome. Also, you can use it to code Windows apps, web apps, web services, Silverlight 2.0 stuff, so it's a learn-once, use-many language.
C++ is very, very unforgiving, difficult and counter-intuitive, and you generally need to write 50 lines of code before you start writing your code.
I use Visual Studio 2008 and get on really well with it, so I can't suggest an alternative. It's only real competitor is SharpDevelop, which is essentially an open-source copy of Visual Studio, so I'd question whether you'd like it any better. You could always try it. Failing that, I use UltraEdit for general purpose editing, which does C# syntax highlighting, or you could get the UEStudio version which will also integrate with the compiler etc.
I'd imagine you'd be interested in Silverlight 2.0, which is sort of like Flex but you code it in C#, in which case you might want to play with
the Expression Blend 2.5 preview, which lets you do the Flash-style design-y and animate-y stuff and keep the actual code separate.