|There's more than one way to do things|
strawberry-perl has a problem if a dll is not loaded where the dll wants to be loaded (which may happen if another dll comes first at that special address)
What happens if you try to load FCGI, and no other module:
I'm thinking it will still fail to load - even though (I assume) there's then no other dll that "comes first at that special address".
Basically, for no good reason, I feel that you might not have got the diagnosis right.
I think that another way of checking to see whether it can be loaded in isolation might be to call Win32.pm's Win32::LoadLibrary('C:/Perl/perl/site/lib/auto/FCGI/FCGI.dll') though, I guess by the time perl has fired up and Win32 has loaded, there are already at least 2 dll files that have been loaded.
I fear that this problem could happen again with any other dll?
I guess it could. But this must be a very rare occurrence. I've been using MinGW for years and have not yet struck it, nor had I heard of it before today.
how can I fix FCGI.DLL? I know that for a similar cygwin problem, there is /bin/rebaseall, is there something similar for mingw?
Best place to would ask about this would be on the mingw64 mailing list, since these are the people that provided the mingw compiler that Strawberry Perl uses.