You hit on an important point: curiosity. Most of the best programmers are deeply curious, and I don't think that can be taught, though I do believe it can be cultivated from an early age.
On the other hand, showing people how to safely experiment in ways they can be sure won't screw things up may be very empowering and allow them to express their creative drive.
I kind of agree with you. I think everyone is inherently curious right until the point when a smart-ass parent says "Because I said so, and now shut up and don't ask questions."
My parents did not do that. Even today, they pride themselves on the fact that when I used to asked them a "What would happen if..." question, they'd be like "Why don't you try it out". Sure I may/may not have got myself in a sticky situation, but the point is they didn't shut me down. Also, if I ever broke something (which was fixable) my dad would actually open that damn thing and fix it during the weekends, talking and explaining to me what the things inside do. Sure I may be only 7-8 or even 10-11 but hey that adds more to my curiosity.
At their angriest, my parents have assessed the situation to check if it's fixable by a human at my age/capacity and given me a stern "fix it" look. Boom, that was a blessing in disguise as well because now I'd be all like "Shit, how DOES this work".
[Note: I'm neither married/not have kids...yet]
The problem that I've seen with others/their parents/their children is that they get annoyed quite quickly. And when you shut down a 5 year old, you can clearly see the pained expression on his face.
They simply lose interest in everything and end up becoming drones. And they're afraid of doing anything new because they worry if they screw it up, their parent will come home and beat them up.
On the other hand, showing people how to safely experiment in ways they can be sure won't screw things up may be very empowering and allow them to express their creative drive.