On your Windows PC, it's possible that PHP is configured to directly connect to an SMTP server to send the message, and it's possible that the SMTP server is smart enough to do a domain lookup before it accepts the message for delivery.
On the *nix setup, PHP is probably configured to use some local MTA daemon (sendmail, for example) rather than directly interface with a remote MTA (as in above). In this case, mail() returns true simply because the local MTA accepted your message and queued it for delivery.