Up until a few years ago, I taught programming languages at a few different summer computer camps, to kids basically ranging about 9-17 years old, for a total of about nine or ten summers. And for what it's worth, I also currently work full-time in a science/tech program for middle school and high school students in an urban area.
For the not-yet-(anywhere near-)college age groups, I have found that C++ is by far and wide the best teaching language, mainly due to its flexibility. That is, you can cover OOP if you want, but you don't have to. You can cover interaction with actual computer memory, but you don't have to. Etc. I think that is a much more important premise than narrowing the root of programming excellence down to one singular paradigm.
The actual discipline of computer science, like virtually all academic fields, is not actually laid out in a nice, neat, linear, easy-to-teach, and trivially-defined path. C++ gives new learners of CS many different avenues to branch out to without the rigors of learning multiple languages as an initiation ritual. Say what you want about the language in general (or for any other specific purposes) but it is an absolutely fantastic teaching language because it has the potential to cover many important paradigms.