I wouldn't be so hard on Cygwin. I had good expiriences with it (mostly with perl-only CPAN packages, but some XS worked without problem), and my colegue from work happily runs quite complicated database driven site on Cygwin (using PostgreSQL which doesn't even exist in native version
1).
On the other hand, I would watch out for coLinux which looked quite promissing last time I checked. It's free alternative to VMWare. It seems to have limit of 196Mb of RAM which might not be enough for production site, but than again I wouldn't recommend running production site on emulator anyway (been there, done that - it runs much better on real hardware :-)
1: yes, I know that next version (8.0) of PostgreSQL will have native Windows port (there are native versions currently, but only commerical).