ActiveObjectsServiceFactory.onPluginModuleEnabledEvent maps <ao> plugin modules to their plugin, eventually locking them in to ActiveObjectsServiceFactory.aoDelegate.
The identification is done by plugin key (Bundle-SymbolicName), however atlassian-plugins and (more importantly) OSGi bundle unique identifier is Bundle-SymbolicName and Bundle-Version. See https://bitbucket.org/activeobjects/ao-plugin/src/2f6cf07c1cf43d7d83ee799337078bf45c19b5ac/activeobjects-plugin/src/main/java/com/atlassian/activeobjects/osgi/ActiveObjectsServiceFactory.java?at=master#cl-301
This results in spurious warnings and incorrect plugin loading when there are two plugins with the same key but different versions loaded e.g.: