This isn't a discussion of C verses another language. The issue with backward compatibility on Linux (for example) is mostly the versions of glibc, libstdc++, ALSA, X11, OpenGL, etc. which are all C APIs. Backwards compatibility isn't much of a problem with open-source software, because you can solve ABI issues by simply compiling yourself, and API issues by deriving the source code yourself (or using someone else's patch.)
As much as I would love it to be, not all Linux software is open-source (or even source-available). Especially in the (disgusting) world of enterprise software, ABI compatibility is crucial because the word "update" basically isn't in their vocabularies. Recompiling isn't backwards compatibility. It's essentially an update. Backwards compatibility implies it Just Works™.