When I was a kid in the 80's I found declaring variables of different types wasn't difficult to understand as necessary but I had a hard time understanding how memory was relevant. It might've taken a little awhile to understand objects and their properties but if all I had to do to get an image to the screen was write one line to load the image and another to blt it to an x,y location on the screen, I would've been in heaven.
So, I think, if you have a language where you don't have to worry about memory management, it's easy to setup a basic loop of some kind, and you don't push the kid (yet) to follow best programming practices, it will probably serve you quite well. C# seems to be a reasonable candidate to me.
Other than that, the only engine I'm at all familiar with would be Game Maker. I tried it out for a bit with the GUI programing interface and it reminded me of a C64 program Arcade Game Creation Kit. I already knew how to program but it was an introduction to things like tilemaps, sprites, and collision events and putting these various elements together to make a game.