Try this tutorial
for a start. It sounds to me like you haven't got Xinerama enabled which helps apps to know which screen they are on and maximise properly.
I'm developing some Java things at the moment and that doesn't honour the Xinerama extension (it maximises at startup and holds onto the window size values, which is annoying). I described my current setup here
which maximises everything properly but doesn't let you move windows from one desktop to another (The mouse does though).
As a PS: I once set up a dual head between 2 cards of different types and with different monitors. I tried watching a film in very-widescreen but half was in black-and-white! I guess the colour depths didn't match.