MinGWはgcc(コンパイラ)環境をWindows上に構築する
CygwinはLinux(API)環境をWindows上に構築する
coLinuxはLinuxカーネルをWindows上に構築する
MSYSはgcc周辺環境をWindows上に構築する

CygwinのgccはCygwinに依存したWindows用バイナリを生成する
Linuxアプリケーションの移植はLinuxシステムコールが一応使えるためそれなり
MinGWのgccは特別な依存のないWindows用バイナリを生成する
Linuxアプリケーションの移植は依存するライブラリが移植済みならばそれなり