So I've learned a lot. One thing is that Lego Technic kinda sucks. Its appearance promises way more than it delivers, and to make things hold together you have to throw on all kinds of cross-bracing and perpendicular locking bits. The NXT bricks have holes to fit Technic couplers, but when you actually try to attach stuff like motors or sensors, all the clearances are wrong, so you have to put in bunches of spacer bricks, which makes things less rigid and more likely to fall apart when you turn the motors on and start moving. Sure, you can work around all of that, but it's another layer between the kids and just building stuff.
Another is that worse can be better for learning. There's an option for letting sensors fire while the motors are moving, but kids who are just learning to program stuff need to know that execution proceeds from left to right (it's a graphical language where you plunk down parameterized blocks to do things) and that in general one operation has to finish before the next one starts.
But the biggest thing for me has been remembering that this is a camp. It's not a course or a workshop or a warmup for one of the fiercely competitive lego robotics leagues. So when the shock-headed kid comes up to me and proudly shows how he's put a coupler in every hole of six long Technic beams, I congratulate him and let him build ten more. When the ubergeek and his friend waste time they could be spending on learning switch statement and parallel execution driving their bot slowly across the length of the entire room, that's OK too. If all that some of them get out of this is five mornings of fun and not having busted anyone else's bot, then I've succeeded.
So far, they're all telling their parents and the librarians that they're having a good time. They're even sorting all the fiddly little parts back into bins like they meant it. And a couple of adults have asked me if I teach any workshops where they can learn to keep up with their kids.