SDL_CreateRGBSurface cannot be called before SDL_SetVideoMode. I would assume this means it's also not safe to keep surfaces across mode changes. I'm attaching a patch that fixes this, and makes the video code behave more sensibly in general, by not shutting down the whole SDL video subsystem when changing the video mode.
It is also vital to #include <SDL.h> in the file that defines main(). For SDL to work correctly, it needs to use its own main(), and renames your main() to SDL_main using a macro. Not doing this may not cause any noticeable issues on Linux, but it actually crashes the program at launch on OS X, and I believe it causes problems on Windows as well.
I know sopwith is trying to support 3 different drawing systems, and including SDL.h wouldn't be appropriate when building with 2 of them. So the #include needs to be wrapped in #ifdef USE_SDL or similar, and swmain.c needs to be compiled with -DUSE_SDL iff SDL is being used. And it will also need to be compiled to a different object file name in that case. I know it's a pain, but that's the way it has to be when you use SDL.
Updated patch against version 1.8.0 attached.