Matthias Felleisen, one of the co-authors of 'How to Design Programs', contends that Racket is a gentler, kinder introduction to computer science and programming for high schoolers (actually, for beginners in general).
There's less emphasis on syntax (since Scheme is so minimal), and more on concepts - which cover all the mainstream paradigms. In addition, starting with functional programming demonstrably better complements and reinforces learning in other subjects such as Math.
The 'standard' text is HtDP (http://www.htdp.org/); it's being used in high schools as well as colleges. A second, revised edition of HtDP is in development (http://www.ccs.neu.edu/home/matthias/HtDP2e/). There's also 'Picturing Programs', by Stephen Bloch (http://picturingprograms.com/), an alternative to HtDP, perhaps more suitable for high schoolers.
(Incidentally, DrRacket is an excellent IDE, with all 'batteries included'!)
Conversely, his colleague Shriram Krishnamurthi has carried out extensive research into learning, and is now of the opinion that Racket is actually too minimal syntactically! Hence the development of a new (and rather cool) teaching language called Pyret (http://www.pyret.org/). (It's been discussed in thrilling detail on HN in the past.)
Lastly, it was found that beginners who started with Scheme actually did better when continuing later to Java than others who began with Java. There are some rather blunt testimonials (from students) that reinforce this point...
'Matthias Felleisen often teaches a programming languages course, and reports that near the end of the semester, students (particularly the stronger ones) ask why they didn't learn Scheme first, before Java. At least one top student disagreed:
Make sure you always teach assignment and bad programming first. They must go through hell before they are allowed to program in heaven.'
(A lot more here: http://home.adelphi.edu/sbloch/class/pbd/testimonials/)