Unregister at uninstall, or not?

I have repackaged an app that requires an OCX (TX4OLE.OCX) to be registered via Custom action. This works ok, I can also unregister it at uninstall. My question is, should I unregister at uninstall? Presumably unregistering will cause any other application which uses this file to fail. Is there any harm in leaving a file registered, after the file has been removed?

Why are you using a custom action rather than the tables provided by MSI (class, appid, progid, etc), or at least the selfreg table (not recommended)?

Whether the component is removed or not will be automatic, assuming you follow the MSI standards (same component code across all versions of the ocx component, increment shared dll count for shared files, etc).

I had captured it using Wininstall LE and it added it to the selfreg table, but that only worked intermittently (I guess that's why it's not recommended).

I'm using Wininstall/MaSaI to edit. If I remove the component entries from Selfreg and leave the entries in Class, Appid, ProgID, will the installer use auto incrementing to detect when to unregister (ie when the count=0??).