I used to use gamemaker, but I realised over a year back that everytime I wanted to do something(palette swapping, proper collision, dynamic map loading) that I kept having ot throw away the code it provided for often basic things and replace it with my own in an unintuitive way. So, I made the switch to XNA and haven't looked back. I'm currently working on completing a general2d engine, initially in sideview, but once I get most of the features built in, I'm going to extend it towards a typical jrpg top-down view. I'm pretty decent with programming and was already familiar with C++ syntax, so it was a beneficial and relatively painless switch. There's a pretty awesome support community and tons of blogs with lots of helpful articles. The tools provided, like Visual C#'s code editor, are incredible.
Just putting this out there for any gamemakers growing tired with the program. I was initially attracted to GM because of the ease, speed and what I thought looked like flexibilty. I wanted to make some games, but didn't want to spend 5 years on the programming.