It could very well be hosed under Win32. I'm not sure how well a Win32 perl port would simulate fork(). It does work alright for me under Linux though.
As it's written now, the script exits silently if there's an error. Try copying out the bit listed as "child" into a separate file, setting Debug => 1, and seeing if it gives you any output.
#!/usr/bin/perl
use strict;
use Net::FTP;
my $BYTES_PER_HASH = 1024;
# child
my $ftp = Net::FTP->new("ftp.microsoft.com", Debug => 1);
$ftp->login("anonymous","-anonymous\@");
$ftp->cwd("MISC");
$ftp->hash(\*STDOUT, $BYTES_PER_HASH);
$ftp->get("NBFCP.TXT");
$ftp->quit;
-Matt