Sctatch (from MIT) has become a favourite in schools and is almost universally well received (anecdotally everyone I’ve met thinks it’s great). The one drawback is needing to run scratch to play the game you’ve made. I’ve always thought that it would be great to be able to compile a single .exe from scratch.
I’ve just found out about 2 projects looking at this. The first is Chirp. This uses the Scratch program but builds on it and adds extra functionality (including .exe export). Chirp can be found here.
There is talk of a ‘mock’ compiler. I’m not exactly sure what this does or what the results are like but it is being prototyped, you can read about it here: Chirp Standalone blog.
Finally, you CAN build your own blocks for Scratch (might be a good A Level project?). Some ideas for getting started with this can be found at the Scratch Blog in a slide show that tells you how to make a ‘flip’ command.
I’ve not experimented with any of these so please comment (or contact me directly) if you have any thoughts.