The primary difference between enable/disable and activate/deactivate is that the former is a semi-permanent, editor visible, syncable change. The latter is a transient change, a change of state of the engine.
Essentially, the concept of Enable/Disable stems from enabling and disabling groups/macros/actions in the editor, while the concept of activate/deactivate stems from macro groups being active or not in a specific application.
The reason for the different behaviour described probably relates to the macro reloading that will occur in an enable/disable case (especially if the editor is running).