This is very similar to some of the strongly typed versus weakly typed language debates that seem to happen all the time. Should ease of use and fun programming come before or after learning about what's going on?
As a fan of both python and C/C++, I believe there needs to be a balance. When teaching a language to students new to CS, you have to gloss over some of the details in order to give them a basic understanding and excitement about what is going on.
My guess is that languages like scheme may inhibit this initial step, so that it is hard for students to catch on.