Pour MinGW je viens de voir dans les sources que la dernière version est 4.8.1-4 donc si tu veux avoir la compatibilité entre ton GCC 4.8.2 linux et celui de windows, faudra faire attention à ne pas utiliser des choses n'existant pas encore sur windows.
Pour le compilateur, si tu choisis avec le compilo MSVC, c'est clair que tu auras un certain problème pour porter tes applications hors de windows.
Pour la deux, cela dépend des flags que tu définis. Par défaut, sur VS plein de flags sont déjà prédéfini et sur gcc, si tu fais un simple gcc -o out out.c tu n'auras pas préciser des flags pouvant "compresser le programme", comme les O1-2-3 par exemple