An old topic, but I feel I must put my opinion on this because I disagree in so many places. This is more aimed as a discussion and at anyone reading back at this thread rather then at gooner (since he has said he has made his choice).
My main point is that beginners should start with an object-oriented programming language and not a procedural one. Procedural programmers code like procedural programmers. For this reason it's typically harder for people who started with a procedural language (like Blitz Basic) to learn how to structure programs in a proper object-oriented way. Sure they typically use classes and methods and also pick up some of the concepts. But still structure their program in the same procedural way.
Any modern game that is not built in an object-oriented langauge is either very small or that one exception to the rule. There is a reason why this is true. OOP helps with componetising and decoupling different sections of the game. This in turn helps in the long term with scaling and refactoring.
Second I don't consider Blitz Basic to be that much of a leap from FreeBasic, at least not when compared to other choices. If you want to try a different language I'd recommend trying something more mainstream.
Finally I recently made a short list of all the langauges I have used for projects. I consider myself to be an expert in Java, Ruby, VBScript and Blitz Basic. I have also written extensive amounts of TCL, Haskell, C#, PHP, JavaScript, C and VBA. To a lesser extent I have also written code in C++, Blitz Max and in various UNIX shells. Of them I easily consider Blitz Basix to be the worst language (yes, even worse then VBScript).