Rik,
I believe there's some confusion in the following change:
The mingw-* patches are not applied when compiling with MSVC. By moving the change to a mingw-* patch, you actually broken MSVC compilation.
If you want a patch applied in all systems, use <modulename>-*.patch as name. If you want a patch applied only for a given system, use <compiler>-<modulename>-*.patch. What is not there, though, is a distinction between native-mingw and cross-mingw; in both cases, MXE_SYSTEM is set to mingw.
Michael.