The MW API has q lot of design issues an I'm unhappy enough as it is we have to deal with those. The "correct" way to ApiQuery system however seems to introduce one additional issue: binding to a specific DB schema. Anything that introduces such horrid dependencies on details form such a high level component is not going to go in.
Topic on Talk:Requests for comment/Wikidata API
Appearance
As we discussed on IRC, there is no need to use the ApiQueryBase's database access layer by the extension module, so no schema dependency. Moreover, I think we will try to move to an interface-based modules for all extensions, and possibly even refactor the core modules.