When enabling or disabling extension-modules, the list of active modules is stored in two places:
1. A domain-independent place (civicrm_option_value in 4.1 or civicrm_extension in 4.2)
2. A domain-dependent place (civicrm_domain.backend #civiModules)
This creates integrity problems when using multiple domains (ie one domain is properly configured but the rest are inconsistent). To prevent this, we should move the 'civiModules' data structure to civicrm_cache (which is domain-independent).
The topic was discussed by Eileen and Tim on IRC circa 12:00am EDT 18-Jul-12.