VB.NET or C# would probably be a good start for what you're looking to do...
You can get express versions of Visual Studio for free, which is absolutely one of the most powerful IDE's for any language anywhere. VB.NET is a great way to get down some fundamentals, and you can't beat it for teaching yourself.
If you wanted to go Windows exclusive I would highly recommend Microsoft Visual C#. Visual C# Express Edition is free to anyone and provides a well featured version of C# and Visual Studio.NET. Microsoft provides this for free to all Windows users. Microsoft even provides free training videos.
http://www.microsoft.com/express/vcsharp/
If you want to go cross-platform then Java would be the best language to learn. If you want to learn Java I recommend starting with JDK available from Sun Microsystems website. Then graduate up to the NetBeans IDE which is an excellent open source, full featured IDE used by many professionals.
Since you have some past experience programming, learning from a book shouldn't be a problem. I recommend
Deitel & Assoicates: Java: How to Program
ISBN: 0132222205
or
Deitel & Assoicates: Visual C# 2008: How to Program
ISBN: 013605322X