It looks a lot like the language with the new Lego Mindstorms kits, which does allow for functions. I think robotics is just about the best way for kids to learn programming because it's so concrete.
I don't understand why anyone would use scratch over Logo. The genius of Logo is that it has a certain logic and mathematical beauty which is actually made visible on the screen.
Your overlooking of the obvious here is probably due to the fact that you're not a kid. Logo is a programming language which allows you to accomplish a great number of things, so long as you know how to code.
Scratch, on the other hand, is more like an interaction environment with some coding constructs thrown in. Kids can get pictures display with animations and matching sound in minutes in scratch, which is way more fun than telling a 'turtle' to go forward 25 steps.
My school taught us all Logo in third grade, so I did actually learn it at a fairly young age. I enjoyed it at the time, although I admit I'm probably too old to give scratch a fair chance.