I believe you are saying that the point of OO isn't for reusability because OO allows you to apply things to more varied scenarios and because reusability is much more complex.
Yes, OO helps but it's by no means the whole solution. AOP helps some more, packaging and package management helps more on top of that but above all reusability is about identifying generics.
But as I said before reusability is true of functions alone. You are identifying generics when you decide which parameters a function will take (and we are talking scalars for these parameters, not objects). And these will determine how that function can be reused. You've made a decision of how the users of that function will be able to vary it's behaviour. OO lets you do that at a higher level but you still have to identify those points of parameterization or "flex points". So to achieve reusability you have to be good at identifying those generics or even better, work in a way that allows you to try and test those assumptions of what the generics are and change them if they turn out not to be correct. Reusability is hard to achieve because very often there are a great many of these generics. If you've ever tried to cater for them all (I did) you will never finish! And what's more you'll end up (taking the function example once again) with 8, 10 or more parameters.... no-body would use such a function because writing it from scratch would be easier. So you have to pick the most important flex points, settle. If you've written good OO the user of your code should be able to add new code to cater for everything else. Even still the creation of reusable code is a very long process and hard to get right.
If that is the case, why would someone want an OO framework?
Because you can create flex points that are more complex than just parameters to functions and let's face it many of them are. Additionally it makes it easier for other programmers to build on top of your code base by overriding bits or hooking in their own, new code.
Wouldn't they prefer a framework that contained a library of easy to access reusable code that they could use on a variety of projects?
Of course, are you implying that functions are easier to reuse? Well this may be true just because they are simplier but for problems where parameters aren't sufficient as flex points functions can't cope.
Consider that the framework in this case would allow OO programing on top of the predefined library.
That's great, a perfectly legitimate framework for sure. I have written a library (fluidics) that as long as you are confident that the flex points of what you are trying to make reusable are simple enough to only require variance by parameters and you have catered for those flex points.