Well, one thing I would point to is your perhaps farcical comment above about purposefully limiting user actions. Have two obviously different modes of operation. Hide things away in the easy mode. Don't even allow access to them. The user should be able to completely make a game using the simple operations, of course, but these simple operations should have predefined sprites in an easy to use GUI where you can see all of the sprites in the library (visually) and choose which ones you want in your game. Same with tilesets and everything else, of course. Only allow layers to be at a scroll rate of 0 or 1, maybe, so that things don't get complicated. Allow the user to resize the map with drag handles. Have the background layer already filled in with a predefined background-layer tileset that comes default as soon as you start the program in easy mode. Have common operations be easier. Make a nice big button to link a platform sprite to a path, or at least have some built-in way to do it without looking at any rules. Properties boxes should show minimal amounts of data. All sprites should default to the default tile solidity class (which should be set up when they import a tileset). The first time the user switches to advanced mode, be sure to let them know of things they need to watch out for (the default solidity not being set, for example, although I think this should also be done in advanced mode, if possible.)
It may sound too limiting, but that is kind of the point. It can also be expanded with even more templates, so it can become less limiting.