as jim said i was having a nightmare trying to get a decent vsync going in opengl but he managed to get it going for me heres his code.
#include "windows.bi"
'this comes after you set your screen up
type PFNWGLSWAPINTERVALFARPROC as sub(byval interval as integer)
dim wglSwapIntervalEXT as PFNWGLSWAPINTERVALFARPROC
wglSwapIntervalEXT = cast(PFNWGLSWAPINTERVALFARPROC,wglGetProcAddress("wglSwapIntervalEXT"))
wglSwapIntervalEXT(1)
if you change wglSwapIntervalEXT to wglSwapIntervalEXT(0) then vsync will be disabled.