There are companies that are much better at backwards compatibility than Microsoft. I use a kernel module compiled specifically for Sun Solaris system released eight years ago. I load it in the kernel of the latest development release of OpenSolaris. It just works and it is guaranteed. You can link code compiled with the latest release of compiler suite with libraries produced by years older release. If you can't, it is a bug and you fill it. Heck, I can link my SunStudio code with gcc produced code, to some extent and it was designed that way. So you really can do this. I suspect that there are companies even better at this than Sun.