実際、漏れはこんな感じでやってるが、無茶苦茶ラクで問題もなし。 
IDirect3D8::CreateDevice( ) で指定するパラメータは
 
D3DPRESENT_PARAMETERS.Windowed  = TRUE  (ウィンドウ  モード)のとき
D3DPRESENT_PARAMETERS.SwapEffect = D3DSWAPEFFECT_DISCARD。
D3DPRESENT_PARAMETERSの他のメンバはデフォルト(ゼロ)のまま。
 
D3DPRESENT_PARAMETERS.Windowed  = FALSE (フルスクリーンモード)のとき
D3DPRESENT_PARAMETERS.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC。
D3DPRESENT_PARAMETERSの他のメンバはデフォルト(ゼロ)のまま。
 
これで IDirect3DDevice8::Present( )時にV-Sync待ちをしてくれる。
(※一部の超マイナーな骨とう品ビデオカードを除けば)