
This user has been denied support.
Isn't this a bad idea since it adds overhead to every page? run_hooks() is called everywhere and you want to check wether a plugin is active when it's really only required on one page? Also this check doesn't seem very reliable - it makes assumptions based on function name, which would break some plugins.
Personally I think it's the plugins responsibility to handle such a case. Since the plugin is loaded on the plugins page, all other code (that's not wrapped in a function()) is executed too.
Maybe plugins could get a pluginname_init() or _main() function that is run right after the plugin is loaded, then we could put all our add_hooks and other initialization code there - then there'd no longer have to be any code outside of functions in plugins (except the IN_MYBB check), and the plugins page could load it without running the init function for inactive plugins so hooks won't get added for them. But that'd be a plugin API change that won't make it in 1.4 I guess...