I imagine they've fixed it by now, but both ImageMagick and GraphicsMagick leaked memory last time I used them, which made them unsuitable for use in a long running process handling millions of images.
Switching to FreeImage not only allowed for cleaner code, it was faster and didn't leak.
My biggest problem with ImageMagick is the command-line API. I never use it enough to learn it off by heart, but it's not intuitive enough to quickly pick up again when I need it.
Unfortunately, GraphicsMagick seems to use the same paradigm, so from my perspective, it isn't better at all.
They are pretty much the same, but GraphicsMagick's big CLI improvement over ImageMagick is that everything's based off an executable called 'gm'. IM's horribly generic 'convert' becomes 'gm convert', etc.
I'm not going to defend their CLIs beyond that though. The fact that 'mogrify' modifies an image file in-place and 'convert' doesn't has bitten me more than once.
Not another library, but a solution to the problem you mention. Capture each command line, even one-offs, in scripts. Then later you can reuse that script without having to figure out the command line options again.
You could say this is just shifting the problem to a new place: you now have to relocate the old scripts you wrote. Well, that's a much easier problem.
RMagick doesn't work with GraphicsMagick, which kills it for me. Almost everything we do with ImageMagick we effectively do offline (with Compass CSS hooks).
There's also FreeImage which works well with Image Science (a lightweight alternative to rmagick). It's what I use in almost all my production environments when I need performance over a ton of features.
We have image replacement hooks in our Compass implementation that generate and cache standard box and icon buttons for us, so that the only place graphics for UI controls occur is in our stylesheets.
It's an actively evil thing to do, but it means we never have to fire up Photoshop to make yet another damn rounded-corner gradient fill button with a simple text string in it.
GD2 has improved greatly with time (like adding gif support) but while I haven't tested them in about a year - ImageMagic/Graphics Magic uses much less memory for large images and outputs a much cleaner output. They also support a larger set of features and require less processing power.
It really depends on what you need them for - I'm not sure how to draw with imagemagic while I know how to do it with GD in php (though if you know neither I'd go with imagemagic). But whenever I need to generate thumbnails or work with photos I use imagemagic because I get a much better output quicker.
Switching to FreeImage not only allowed for cleaner code, it was faster and didn't leak.
http://freeimage.sourceforge.net/