Microsoft have created Small Basic, a Basic language aimed at kids (and adults) learning to program. If you've not programmed before, or want to teach a kid, then this looks like one good option. Taking a skim through their PDF, it looks like they guide you through a wide selection of fun learning projects.
It's based on .Net, and so has advanced features like auto completion and context based help. I wish I had some nice features like that when I was learning basic on my ZX Spectrum :)
Now there's a useful gift for a kid - the ability to program computers. Happy Holidays!
Edit: Note that there's also an official blog which gives updates and sample programs.