Actually, with VERY few exceptions, you can run very old userspaces with new kernels. There have been a few 'fixes' that broke old userspaces (by exposing bugs in userspace that weren't triggered pre-fix), but there's a very strict, never break userspace rule. Sometimes you have to set the correct kernel build time options, but it's expected of a person doing that to know what they're doing, or to trust their distro to know what they're doing.
Look at the recent Linux Wireless mailing list... A few weeks ago, the ability to use 'Wireless Extension Compatability' to control wireless was made unselectable. They have been marked deprecated for YEARS(2008), and are now causing problems with supporting newer wifi features. This was very firmly 'NACKED' by Linus, and the wireless tree has to continue supporting an old, broken, way to control wireless devices.
There are also options you can configure in the kernel like 'COMPAT_VDSO' which work around 1 released version of GLIBC (2.3.3), which was also backported to OpenSuse 9.
I know that it may not have been until the 2.6 era that this became truly 'written in stone' law, but it's always been a pretty firm 'rule'. Hence I can still run a.out binaries on my 64bit system. 'ELF' binaries were added around 2.0 (15-20 years ago?), and have been the default since some time between then and now. Still, a.out support will always live on, because you don't break the kernel to userspace abi.