I can't talk for all perl builds on Windows, but my Activestate 5.6.1 (build 633) + Win2k does translate -w on the shebang to use warnings. It doesn't do it via using the shebang afaik, but just by using some magic on it.
//: C:\MyScript.pl
#!/usr/bin/perl -w
$x = "foo";
__END__
output:
Name "main::x" used only once: possible typo at scratch.pl line 2
///~
C:\> MyScript