I used the WaitForVerticalBlank method of the IDirectDraw object to wait for VBI before doing a Flip of my double- buffer. Works fine under Win95, but doesnt work under Win2000. Whats wrong with Win2K? beaster.
Use DDBLT_WAIT flag in the Blt and the Flip() Routines, it works well in win2K (our game) and does pretty much the same thing, WaitForVerticalRetrace may or may not be supported by diffrent video boards anymore (or even by DirectX drivers as it is considered obsolette) in this case your function will return: DDERR_UNSUPPORTED ... i hope you are checking this error are you? :)