Since I rejigged language loading for plugins, I revisited this.
What I've done is made a backwards-incompatible change in plugin management. It should NOT affect anyone who makes plugins per se, unless you want to update. Anyone running an installation WILL NEED to disable all their current plugins before updating and re-enabling them afterwards so that what's in the DB is stored correctly. But this should be transparent to everyone.
Basically, the loaders in the hook callers should now actually use loadPluginSource and loadPluginLanguage, so debug information will be available. It also means caching is handled consistently for languages too ;)
I'll mark it solved once I commit, because it has changes in Load.php which will conflict with everything else >_<