I didn't look into SDL myself yet (I am happy with my moster of a window manages as it is... Although it took me years to build and fine-tune it) but I hope that SDL's main purpose is to protect you from these bloody details.

Still, recheck your OpenGL calls flow. If it's wrapped in a class, attach to all your code block a short WriteLn() to console or log file and see if the blocks order is correct. May seem a bit tedious, but this approach could save you many hours worth of debugging.

Btw., my program is peppered with constructs like
if VerboseLog then AddLog('Some witty comment' + SomeParameter);
, where VerboseLog is a global boolean var. You may think that debugging allows you the same and more, but my method paints a complete picture of what happened after what. Very useful.
I'd recommend using something like this in your OpenGl initizlizing code. So in case one of your users with different driver/videocard runs into problems, all he need is to turn verboselog on and send you the log file.