Having cake and also eating it: Compiz and dual-head on an ATI HD 2600

Only a day after complaining about my ATI card running under Ubuntu, I seem to have a solved a lot of the issues. Slightly embarrassing. To recap – my system is set up like this:
HP 8510p laptop with an ATI HD 2600 mobility card running Ubuntu 8.04 with a 1680×1050 screen, often connected to an external monitor (same resolution).
My ideal setup would be like this:
- ‘Big desktop’ mode when plugged into an external monitor, allowing windows to be dragged between screens.
- When the monitor is unplugged, to continue working on the laptop screen, without restarting Xorg.
- Compiz-fusion providing ‘expose’ functionality amongst other things.
- Generally not having crashes would be nice.