-mno-cygwinが効くようにならないと端折ってしまったけど、
細かいことを言うと、そもそもcc1.exeがうまく呼べてない
ようなのね。

-mno-cygwinなしでコンパイルすると、

/usr/local/gcc4/libexec/gcc/i686-pc-cygwin/4.0.0/cc1.exe

といったように、絶対パスで実行するのに対し、-mno-cygwinを
付けると、何故かcc1をパスを省略して実行しようとするのです。

cygwin純正gccだと、

/usr/lib/gcc-lib/i686-pc-mingw32/3.3.3/cc1.exe

みたいにi686-pc-mingw32配下のcc1を呼んでくれるのに
何故かと思った次第。