I thought BASIC is very good to teach basic programming concept such as Loops, line-by-line execution, etc. Really, for a beginner, one must have that kind of mindset.
Those are very imperative concepts and while imperative programming is good for some things, a language that teaches and allows for higher-level programming is probably a good idea. Languages like Python and Ruby allow functional and object-oriented programming which are becoming more and more common.
Yes, and I wish it upon no youth to suffer such a perversion of what programming is again. Better to start them off in m68k assembly, at least they will learn something useful in terms of how a computer works.