I think it's better if you just keep doing what you're doing and gradually try to work OO into your coding style in multiparadigm languages. OO is a great way of modeling some things, but it's not the be all and end all of programming. OO is great where you need flexibility. Procedural is a perfectly good paradigm for parts of your code where you want a simple solution to a simple problem and don't need a lot of abstraction.
Learning a "pure" OO language will give you a feel for how to use OO features, but as you won't be forced to choose what paradigm to use for any given piece of code, it won't give you a good feel when to use them. I think a much better way to learn practical OO, as opposed to OO as a religion, is to learn a multiparadigm language like D, Python or Ruby (or stick with C++ and PHP, though the OO features of these languages are very "bolted on"), read up on design patterns to understand the "why" of OO, and gradually try to integrate more OO design into your programs, with the ability to compare the results to what you would have written procedurally in the same language. The OO version will often be better, but not always.