Try setting you sync rate and turning vsync on before you initialize your display with dbSetDisplayMode...
It might not make a difference, but I know from using commands like dbOverrideHWND() that where you place calls that initialize the display can affect things.
for example, If you call dbSetDisplayMode BEFORE you override the window handle, your override wont work.
Perhaps its the same, if you set the display mode before you set the syncrate, maybe you can no longer set the sync rate ?(I know that doesnt really make sense, but some things in GDK dont lol)
Also another thing to check is that you have VSync enabled and application controlled from inside your video driver software
If it ain't broke.... DONT FIX IT !!!