I disagree completely. His kid hasn't expressed an interest in becoming a programmer. He wants to be a game programmer. If you throw him in front of a C compiler with a book and tell him to spend months writing Hello World and other stupid beginner programming crap he's going to be bored out of his mind and lose interest.
The idea is to nurture his interests. Let him see some progress. If he sticks with it he'll realize on his own that whatever simple language he's using has limits and move on to C++ on his own.
I often learned best, when I had a project with a concrete goal. I wrote a lot of games in HS, both on the school's VAX with VT220 terminals, and at home on my 386PC w/VGA. I ended up writing my own game programming libary for DOS in ASM, that handled blitting sprites and tiles, and handling keyboard and joystick input.
Nowadays, things are so much more complex, lots of APIs to learn. DirectX requires a passing knowledge of COM for example. IMHO, it was actually quite a bit simpler to learn how to bit-bang the hardware directly. But that was when VGA was the standard, and it would work on all hardware. Nowadays, graphics cards are so advanced and so proprietary that it requires using an API.
There was a book that I picked up, and I didn't learn directly from the book, but it was somewhat helpful. I think it was something like, "Learn Game Programming in 30 days", by Andrew LaMoth. It teachs you how to write a ray-casting engine (think Wolf3D, from the 286 days.) It requires a working knowledge of C.
I wish that there was a stronger game-oriented version of BASIC these days. It's pretty easy to pick up and use, although it does tend to teach sloppy programming techniques too. C++ requires more discipline.
If DOS was still a viable platform, I could dig out my game library stuff and make it available. But I don't think that you can find a good 16-bit DOS compiler any more. (Visual C 1.52C for DOS?)
Edit: I agree that you have to learn to walk before you can jog, so getting him to learn elementary programming skills, before he embarks on actual game programming, is a must. BASIC is the easiest to pick up, and he can write some simple question-and-answer programs, dealing with input and output, and some basic logic skills in-between.