I'm using SDL_DOUBLEBUF and I still get tearing.
If you are in windowed mode, you need to run in fullscreen mode. If you are in fullscreen mode, the system drivers probably do not support synchronizing with the vertical retrace. If you are using OpenGL with the NVidia drivers, you can enable retrace synchronized flipping using an external control panel or environment variable.
An excellent article by Bob Pendleton covering SDL hardware surfaces is available at the O'Reilly Network