The problem with the display settings is following: if VSync is on and I have desktop resolution set to 1280x1024@85Hz, then I try to set the game's resolution to 1600x1200 and I get 60Hz refresh rate. When I change my desktop to 1600x1200@85Hz then I get the 85Hz in the game too.

It looks like you CANNOT control the refresh rate in SDL!

Here's something that I found on the 'net:
Windows XP uses 60 Hz as a default OpenGL refresh rate. Setting it to another value is merely a parameter to Change Display Settings, with no easy way to know whether the video card and the monitor support the requested refresh rate, which makes it hardly impossible to put into SDL.
So, it looks like it's time to say "Bye-bye SDL"...

I don't have the time to get rid off all that SDL crap in my code and replace it with some other hack and still make it for the stage 2 deadline, but on stage 3 I won't have anything SDL related in my game engine.

There goes my dreams for cross-platform domination...