The laptop and external displays have worked nicely ever since I switched from CentOS 5 to Fedora 9, and xrandr makes it possible to change their resolutions independently, even with a 3d desktop.
My old xorg.conf file that I used with X.org 6.8.2 can be downloaded here, but you should use a more recent X version.
If you have positioned an external display above the internal display, this script can be used to move windows down to the internal display when the external display is disconnected. It's also possible to use x11vnc and a vnc client to view the external desktop. Be sure to use the -clip and -viewonly options, otherwise strange things happen.