I might be WAY off here, but i think i had a similar problem once and i had to tell the http connection to use binary mode too. Or was that with sockets? I'm sure a much wiser monk will tell us soon ;)
Oh b.t.w., you probably should't use chdir, unless you know what you're doing. Why not just this:
#!/usr/local/bin/perl
print "Content-type:application/x-zip-compressed\n\n";
open FILE, "d:/www/mypage.net/www/test/zipfile.zip";
binmode FILE;
print <FILE>;
close FILE;
Update:
Turns out i was right ;)
binmode STDOUT;