Solved! Go to Solution.
It appears to me that when you run the ESRIRegAsm tool that it produces a file in the following directory:
C:\Program Files\Common Files\ArcGIS\Desktop9.4\Configuration\CATID
The name of the file is something like {GUID}_name.ecfg. The file itself is really a zip file which contains a file named config.xml. It appears that ArcMap is using this file to determine component categories versus that which is in the registry.
I did the following:
1) Used the VB6 sample which has a tool bar, extension, and zoom in and out commands and built the DLL and reg file needed on a 9.3.1 system
2) Tested the sample on 9.3.1; no problems
3) Tested the sample on 9.4 using ESRIRegAsm; it does not work
4) Went to the CATID directory, extracted the config.xml, manually repaired the XML, and put it back in the zip
5) Tested the sample, no problems
ESRI, why don't you provide a trivial tool which does this?
The updated link to KB Article 37639 is 37639 - Register Legacy Components with ArcGIS 10