I have successfully built Pike on cygwin. There are currently a few issues you have to get around.
Pike doesn't support cygwin paths. If /cygdrive/x/foo gets handed to a file function it should instead use x:/foo (well, x:\foo). Could this be fixed in fdlib?
Stdio.Terminfo can not decode the cygwin terminfo file. sizeof(strbuf)==sstr-2.
mt_lock( &aap_timeout_mutex ); in HTTPLoop/accept_and_parse.c triggers some sort of thread bug during startup. Just build without HTTPLoop.