The behavior should be deterministic / well-defined from the spec.
My guess is the previous behavior was correct, if not, then like you said, it's just a matter of fixing the tests.
But if it was correct, then your impl needs fixing in the following way -- actually a small change:
Notice that, interestingly, in the way things are implemented today, if you pass one of the missing classes as a parameter to a Deployment.loadBeanDeploymentArchive, my implementation will return the requested BDA correctly, but still the BDA will lack the requested class!
== simply dynamically add the classes of requested class' owner jar to BDA's classes.
Even thought our "glue" for BDA mapping is CL, it doesn't mean they are 1:1.
And with that suggested fix I don't see the need for more fine grained mapping.