have you enabled syncing in nvidia-settings?

i have a script which fires up xbmc under a different x session (basically so it turns off my main monitor, and puts it on my hdtv, which is usually off during normal computer use). mine is synced perfectly. the script that does it makes sure nvidia-settings is set correctly by setting these flags just before starting xbmc:
Code:
nvidia-settings -a :1.0/SyncToVBlank=1 &
nvidia-settings -a :1.0/AllowFlipping=1 &
nvidia-settings -a :1.0/XVideoTextureSyncToVBlank=1 &
nvidia-settings -a :1.0/XVideoBlitterSyncToVBlank=0
however, since you're using the same screen you should be able to permanently set them within the nvidia-settings gui and not bother with scripts or command lines.