If you dont want the desktop to stretch, then it's up to your desktop enviroment to be able to support randr. In my WM (Awesome WM) it works great. And you will always be able to drag the windows between the screen (but this doesn't mean the desktop will stretch, i got two different taskbars with different applications on each, and if i pull one over, it'll move to the other taskbar).
I guess it's up to your WM to prevent windows from entering the TV-screen, however, there is a nice solution for this.
Since some applications mess up the resolution when i go fullscreen, i have created some small scripts which turn off/on screens with xrandr.
If i turn off the TV-screen, all windows that were over there gets moved back to my laptop. I got these mapped to some keyboard shortcuts.
When i want everything on my lappy:
xrandr --output VGA-0 --off --output LVDS --auto
When i want everything on my TV:
xrandr --output VGA-0 -output LVDS --off
And both, next to each other:
xrandr --output VGA-0 --auto --left-of LVDS --output LVDS --auto
This is what i got in my xorg.conf (i cleaned it up a bit though).
I'm not sure you even have to specify a monitor, the important part is the Virtual size.
Identifier "Default Screen"
Monitor "Some monitor"
Virtual 2640 800 # Large enough to place two screens next to each other