Keep in mind that the configuration below is using fairly dated hardware, so those of you with PCIe system will probably be better off getting a higher end nVidia card with multiple video outs. Also, the configuration below is not 100% solid. I have video lockups every now and then (once every couple of weeks).
I have just recently been able to upgrade my outdated 6.4 machine (using an older Xorg version, prior to the 6.9/xrandr) to 8.2 (same hardware) and still keep my multihead with multiple cards working, but it did take a bit of work. I am currently using an AGP ATI Rage IIc card with 2 Matrox 2064W Millennium cards. The ATI card is being used as the center display with the 2 Matrox cards flanking on both sides. I only have 17" AL1706 displays. I have access to bunch of older PCI video cards, mainly S3/Trident and the such, but the ATI/Matrox combo is the only one that seems to work consistently.
The first step was to patch Xorg's xf86pciBus.c using a patch I found on one of the many Ubuntu forums called "default_primary_to_first_busid.patch". The default xf86pciBus.c file would keep specifying one the Matrox cards as the primary card, resulting in full system lockup (not exactly sure why). Since the AGP card has the first busID, the patch will make it the primary video device. I also disabled both hal and dbus.
Nothing special in the xorg.conf. I have xinerama and clone disabled, as well as AutoAddDevices and AllowEmptyInput. Other than that, I specified each device, screen and in the ServerLayout section, the layout.
I also think the other key is the Window Manager. I am using E16, which in my config, actually launches an E16 session for each screen. This layout has pros (isolated sessions) and cons (can't drag windows between screens, but copy/past works), but since I use this configuration for multiple terminal sessions, this is an ideal setup for me
I can provide more information if needed, but the bottom line is that it's a PITA to get it to work.