Considerations for using .blend files between operating systems
The only major one I think are path names, if you had anything linked into a non packed .blend, you would have to double check and make sure that the paths to files were relative (If they are in folders near or with the .blend that is).

You can do this simply by going to External Data > Make All Paths Relative 

OR

This can be avoided by just packing the file.

Also, to further understand why this is important


A full path or absolute path is a path that points to the same location on one file system regardless of the working directory or combined paths. It is usually written in reference to a root directory.
A relative path is a path relative to the working directory of the user or application, so the full absolute path will not have to be given.


Update: thanks to jesterKing and ideasman42 in the comments for pointing these out. 


Windows uses case-insensitive filenames, mostly this isnt a problem because blender will use the case from the filename you select, but if you rename a file or directory (and only change the case) after this is already referenced from blender, you could then run into the problem where windows will resolve the path but loading the project on Linux/OSX (any non windows system) will fail. You might be best off to avoid this by using all lowercase names.
For linked and non-packed blends, make sure you have as many of your relative paths preferably under your main .blend file. Especially for Windows users: don't put resources (textures, sound) on different drives compared to your .blend files.
Quicktime support isn't available on Windows or Linux, so these can't read image/video formats supported by Quicktime.