Well now comes the fun part, determining which API call makes the difference! The version I posted has a handful of changes in it, now I'll slowly back them out and we'll see at what point the tearing comes back through a process of trial and error. I'd love to say "oh I know why the other way didn't work" but I can't really see any reason why both wouldn't work so we'll have to fumble toward a solution, if you have the time.
Here is a ZIP file (xbmc-IntVSync.zip) containing 6 different xbmc.exe's. These are not installers, just the executable itself. Make sure you have the XBMC-IntVSync-1.exe version installed. Extract the exes to the \program files\xbmc directory then one at a time rename them to xbmc.exe and run each one
without the -fs option. Report back which have tearing and which don't. If I had to make a wild guess 0, 1, 2 should work, 3 is iffy, 4, 5, 6 will be broken.
Of course, they could all not work and then I'm really going to be scratching my head. Once we've got it nailed down I post a patch to your ticket and see what Team XBMC thinks.