The basic point: forget coding; get kids grounded in computer science topics, and use the language that best supports this goal.
From that focus, the best two languages by far for kids (or really anybody interested in a good foundation in computer science) are Logo and Scheme. Parents, instructors, whoever, that are computer savvy, are the ones who can download one of the number interpreters (my choices: Berkeley Logo and DrScheme). These languages are a syntactic dream to work with. If there's an older-person available, then working with a youngster through Brian Harvey's Computer Science Logo Style serious would probably make any kid a solid computer scientist, let alone coder, for life. The series is for teenagers and up, but with a computer at home and a bright mind, there's no reason why an 8-year old couldn't get started with the guidance of a parent or older sibling.
Rather than picking up arcane details about pointers and things, kids should get a good grasp of CS in general, so that no matter what language comes along, they'll have the fundamental computer science principles down. Harvey's books go from the basics all the way to writing things like BASIC compilers! Knowing what a compiler is at a young age is one thing, writing one is completely another. There's so much computer science content in those books that anyone of any age would find them useful in some form.
Of course this train of thought is nothing new. Why do universities teach assembly language programming in MIPS and similar architectures rather than x86? Learning x86 would involve so much extraneous detail that it would detract from the main goal, to understand the principles of machine-level instructions.
I cut my teeth on Applesoft BASIC, which admittedly was a ton of fun, but by starting with Logo, learning the building blocks of programming, and then transitioning to basically any other commonly-used language, will probably be a better, more solid, and more enjoyable way to becoming a good programmer.