The only sure-fire fix I can think of is to actually build two static versions of libgfortran -- one threaded and one not threaded. I'm not sure this is worth the effort, really. I'd be more inclined to put a couple of checks in such that the static libgfortran only runs non-threaded, and force people to use shared libgfortran for OpenMP.
Hum, there are some platforms where libgfortran (and other target libraries) cannot be built as shared libraries. i386-mingw32 is an example of that. We've been careful until now to keep static libgfortran working even as a static library, and it would be a pity not to be able to run OpenMP on this platform.
FX