Read other letters about this article
I've been coding since I was 13 or so and I'm currently in a PhD program in CS. While I agree that many modern programming packages are daunting, highly complicated and difficult for a beginner to sink his/her teeth into (I still yearn for the days of Borland Turbo C), there are still many options. For one, I highly recomend looking at perl, python, shell scripts, etc. I'm not sure what you mean when you say that you can trace the algorithm with paper when using basic... with the exception of perl (which I admit is a little strange), with most languages its perfectly clear whats going on and a manual trace is still very easy. Yes, its true that the GOTO statement is dead, but, honestly, that just leads to confusion in larger programs.
In any case, my biggest recomendation to your son is to do what I did when I got bored in math class in high school: get a Texas Instruments TI-83 graphing calculator. They have a version of basic on board and you can do some pretty nifty things with the programming language including access to the all the graphing and mathematical functions. I remember as little as 7 years ago, spending a couple weeks programming games on the calculator, optimizing it to get it to run more quickly, and distributing it to my friends so they'd have something to goof off with in class.