Just out of curiosity, today I tried to compile an Outpost 2 mission dll with Mingw32. Worked almost flawlessly. All I had to do was change some paths. I tested the DLL in Outpost 2 under Wine and it worked.
It was a cross-compile, using my Linux system and the native Code::Blocks IDE.
I didn't check whether the produced dll has any dependencies, but according to the Mingw documentation it is supposed to depend on MSVCRT.DLL and possibly other DLLs. The produced DLL was also larger than what I got with the VC++ Toolkit 2003 and LibCTiny (even with the -s switch).
I didn't look any further into this, because I was originally going to do something else and I think, I distracted myself for long enough, now.