The only environment variables that don't appear in the shell output from the env command are INFOPATH, MAKE_MODE and PLAT. I am still flummoxed.
At this point, I'd recommend to perform a cygwin update; with Cygwin, these problems often go away with an update.
If that doesn't help, you can ask on the Cygwin list also; to analyse this further, ISTM one will need to debug the internals of cygwin.
One thing you could try is to add -v to the list of gcc options; you can then see whether gcc is progressing correctly.