I have an update.
First of all, (and this may be a clue) I tried linuxcoin. With 3 cards it will run, but AMDOverdriveCtrl can't underclock the memory on my 6870's.
With 4 cards, linuxcoin throws an error "can't start x server" at startup. Not sure why.
In windows, I installed 11.7 preview drivers, and after that, I could mine with 3 of the 4 cards. Not only that, but the 100% CPU usage bug went away. My CPU usage is 1% per poclbm process.
But the 4th card hangs no matter what I do. And it doesn't matter which 3 cards I run. Any 3 will run, but whatever I start 4th hangs and poclbm dies.
If you try to start GPUz wtih 3 cards mining in this configuration, it hangs. Stopping one allows it to start.
If I remove one card from the system, I can run with 3 instances of GPUz and 3 cards mining. Doesn't seem to be a problem. So with the 4th card installed, this seems like some wierd shared resource problem.
I have 1000w OCZ single rail PSU and currently it only uses 600w with 3 cards OC'd and mining. So I don't think this is the problem.
I guess it could just be the 11.7 drivers. But they were running fine with 3 cards only. You can boot remotely without monitors hooked up, as well.
Edit: 11.7 drivers were the problem. 11.6 = 4 cards running. Back to swapping monitor cables, CPU usage 100% again.