window's binary compatibility is like Java's source compatibility. it works all the time, except when it doesn't
yes it's a goal, and yes it works a lot of the time. but it doesn't always work.
for linux systems, you can take just about any binary from one distro and run it on another distro. the .so files are all named the same way so if they are there everything works.
the cross-linux-distro problem is more a matter of how to make sure that all the right packages are there, and where are all the config files than anything else.
there are a lot of companies selling software for linux, many of them charging lots of money for their software. some of them take a hard line attitude like 'we only certify RHEL 5.0, if you upgrade to RHEL 5.1 you are on your own', but many of the recognise that the distros are all more the same than they are different and instead say 'we have tested this on RHEL 5.0, it should work on anything else, contact us if you have problems'
the companies that take the first attitude are very slow to support any new distros or releases, frequently when a customer says 'I will buy your product if you support distro X' (I've done this to a few products).
companies that take the second attitude tend to be much faster to add 'supported' distros to their list.