A good example of ABI backwards-compatibility is GTK+, which is still compatible back to
version 2.0, released 6-7 years ago.
I wish more effort was made on ABI forward-compatibility (symbol versioning), which very few
libraries seem to care about. Without it, you have to build your program against the oldest
version of the library that you depend on to get a portable binary. This would also make
things like distribution upgrades a lot safer and more flexible (like being able to upgrade
one package at a time).