Hmm.. I disagree. Your library should have a static API that changes very rarely. If you (as a library developer) are modifying the API of your library with every release, that library better be in the alpha or beta stages. It's not that difficult to maintain backwards compatibility after your library reaches a mature state, and you owe it to the developers that use your library to keep it that way.
If you cannot do this because the source is not available, you are now asking other people (eg. the library developers) to bend over backward to suit your needs, which have nothing to do with producing quality software, etc, they are 100% about protecting a business model*. That is your choice so "the expense and inconvenience" is yours to deal with -- not something where you turn around and say oh, I think the open source community that produces the libraries, the entire system, 95% of the software etc, need to compromise their priorities and to waste their time to accommodate me because I can't find a way to make money without using a closed source, blah blah boo hoo -- well you see my point.