I would also recomend C/C++, otherwise I'd suggest Java.
With C/C++, you can do a lot of great things. Don't let everyone scare you with all this pointer nonsense...it really is not a difficult concept, and quite honestly, there are a lot more indepth techinical areas of those two languages that are far more confusing and difficult than pointers are. Learning C++ will allow you to build console applications quickly and easily, however getting a handle on the windows 32 API to make your own UI is going to be a lot more confusing than learning pointers. I see a lot of applications being produced now with C/C++ coded dll's and using VB as a front end GUI. C++ being an OOP language is not entirely true. It is not actually a true OOP language as Java or C# are, however C++ is a compilation of OOP and non-OOP, allowing you to basically mimic any other language out there.
The reason I mention Java is simply because you already have a good grasp on a lot of web development. With Java, you can learn a great deal about the methodologies behind the curtain when it comes to OOP. Java is a true OOP language, and you will also be able to create applets and run them in a browser or as a desktop application...and NO Java is not the same as Javascript.
As far as learning Object Oriented development, start small and read about classes and structures. I'd recommend any Bjorn Stroustrup books...I do NOT recomment any "* for dummies" books. They tend to teach you how to hack through your development, whereas you really want your code to be elegant and efficient. You are going to have a real hard time programming games with C++ at this level. Chances are, you won't be able to make a graphical game for another couple years if you start now (specially if you are learning everything on your own)...however with the C++ route...that also opens up a whole world of DirectX possibilities