The purpose of the puzzle pieces is to prevent syntax errors, right? Do kids (or anyone, now that I consider the question) really need to deal with syntax errors?
Scratch is designed to encourage children, not discourage them. Syntax errors are the bane of learning to program for the first time.
As sibling comment indicates, it's also good to be able to code on a tablet, but I didn't think that would be as convincing to parent who seems opposed to graphical interfaces in general.
> Scratch literally has little graphical puzzle pieces that you drag around and dock together
You could build a "little graphical puzzle pieces" tool for any AST. You could even enable it to be driven with any combination of keypress input and mouse- or touch-based drag and drop. (Or even expose a text-based dump, for "free-form" editing by advanced users.)
Beyond that it's pretty similar to the thing I (and you) recommend.