True. You cant do that.
I wasted many hours trying to work around it too. In the end, it just isn't possible.
And this is exactly the problem. It is compiler specific and you can not always mix C++ libraries compiled with different GCC versions.
It is compiler specific yes, and no you can't always mix versions, but the .so format has been pretty much standardised these days. There was quite an effort to tidy it up. Since amigaos 4 only has .so files from gcc 4.x, there aren't likely to be quite the problems you got when glibc got upgraded in linux.
If you assume for a moment that .so files on OS4 are primarily for C++ code (they don't have to be, of course, but I wouldn't write a C .so for amigaos when I could write a shared library instead) and that the only C++ compiler on OS4.0/1 is gcc 4, most of the above objections don't really apply.
Of course, if a new version of gcc decides to change .so files dramatically again, then yes, there will be a problem. However, the revamp in the last major glibc, though necessary to properly make .so files useful for C++ was something nobody is keen to repeat, not even for C++0x. The current .so format should be future compatible for the latter anyway and hence could be around for some time.