Note that I agree with you, in that I would rather use Python, or even Scheme. But I think language choice accounts for, say, a 5% impact, while the boring stuff (how much the teacher cares, how patient the teacher is, how good they are at explaining concepts, the quality of the projects - standard teaching issues) accounts for the rest.
In terms of preparing students for a career in programming I agree with you, the choice of first language doesn't matter much. But if a student is going to take a single semester in High School and never take another programming course, its far better that they end learning to write mediocre Python than bad C++.
And the hello world program for C++ is just as bad as the one for Java, in its own way. You're writing 'cout << "Hello World"' but how long will it be before you teach the students about operator overloading?