If you're running on different OSs, that implies you are running different builds of PHP. They may not be built with identical options. See phpinfo() for more details.
Also there are some extensions / features at the moment which only work on Linux / Windows. These are clearly marked as such in the documentation (and are relatively few). These aren't normally required.
Inherent differences are things like filename case sensitivity and filesystem conventions; these are also documented in the appropriate sections of the manual.
In any case, developing on one platform and deploying on another isn't a terribly good thing to do- you may encounter problems. I recommend that you at least get a Linux test server and run as close to an identical build as possible.
Also, if your production server DOES have a different build, it may be desirable to create a test environment on your production server (different Apache virtual host or something) that you can use to test new builds of your application prior to deployment.
Mark