I got a Matrox G450 PCI card with 32mb ram to replace an old Ati Rage - to get a decent resolution, plus 2d and 3d acceleration.
Using latest mga (1.4.9) and supposedly latest drm (220.127.116.11, and mga drivers in general don't see a lot of changes) on Xorg 7.2. I have direct rendering working.
Using XAA or EXA does not matter (though in EXA I see other corruption, likely due to early EXA in 7.2)
I have the same problems with g450 pci.
Compiling latest code from git://anongit.freedesktop.org/git/xorg/driver/xf86-video-mga made things slightly better.
Using mga_hal via the drivers provided by //http://projects.tuxx-home.at/mga/drivers/latest/ didn't help too much.
If you want to try them though have a look in the howto section at http://forum.tuxx-home.at/
on how to use and install them.
Also in my case the Videoram of the card was detected erraticly.
Using the driver from git and setting VideoRam in xorg.conf made the problem nearly vanish. 3d performance is still very bad though.