After our conf call, I found http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html that discusses "Package Versioning". It's fairly old, and none of the headers specified therein conflict with those specified in the OSGi r4 specification. I have added these headers for completeness with my best guess for their values, although I omitted the "Name:" header, as it was causing bnd to throw errors.
WRT importing exported packages, section 3.6.6 of the OSGi r4 Core specification discusses importing exported packages. That discussion suggests that our bundle is not a candidate for package substitution, as we mix implementation (JDOHelper) classes with API.
WRT Bundle-Version, section 220.127.116.11 also says the "Bundle-Version header specifies the version of this bundle." For this release, then, it's "3.0.1".
WRT singleton bundles, section 3.6.2 says that it "Indicates that the bundle can only have a single version resolved...The Framework must resolve at most one bundle when multiple versions of a singleton bundle with the same symbolic name are installed." I think this means that we should go with the default value, false. It does not address the authoritativeness of a bundle.
Patch attached, relative to branches/3.0 (other patches were accidentally relative to branches/3.0/api); this patch supercedes all other patches. I would have deleted all other patches, but I don't have the ability or couldn't figure out how to delete attached files.