Also all the problems with SSL libraries at linking could be easier fixed.
Why always this fear of giving freedom of choice to people?
I'm sorry as I do believe I misunderstand what you are trying to say with your posts.
imho the SSL solution is exactly a good example of what mess you are getting yourself into when trying to solve things manually. For SSL you need to combine the correct version numbers of different shared libraries. Whatever those valid combination are is a tedious things to figure out (as far as my knowledge goes FPC does not even support /all/ valid available combinations).
And the SSL example is in comparison a simple example as that is about combining 2 different shared libraries. Imagine if you would have to take care of 10 or 20 different libraries that are part of a single package and use whatever combination of version numbers for those libraries that the package dictates to be working with each other.
So imho you are advertising your idea with the wrong examples. Therefor I can only conclude that I misunderstand that it is what you are trying to tell.
Just for the record, if you wish to do so (as is with the SSL example you referred to) then you are allowed to do exactly as you seem to suggest. Nobody is trying to prevent you from using whatever (shared) library with their explicit version number. The freedom of choice (not fear) is already there.
In an attempt to figure out what it is you are referring to: Perhaps you'd argue that the current used unit headers in FPC for such packages/libraries do not have a provision to use explicit version numbering. To that I would say: The SSL solution is able to show how to implement such a thing by dynamically loading the version numbers of the libraries if you so wish to do so and for those packages/library headers that do not support it, it can be added. That developers do not add support for it by default is another topic (as said, tedious boring etc).
So, I strongly believe somewhere along the line something goes wrong in the communication ?