It would be helpful to be able to listen in code for when the user changes tools. Arcmap is a very tool/toolbar heavy application. This is intimidating to new and infrequent users. In terms of add-ins, I favor having tools in forms or dockable windows. The only way I could find to implement this was by having a button with code behind the click event that sets the active tool to an associated custom tool (that has not been added to any toolbar). It is preferable that the button be graphically highlighted so the user knows which tool is active. If the user chooses a tool on the ArcMap interface, the button (custom tool) should no longer be highlighted. A workaround is to set a timer on the form that with code that looks at which tool is active and removes the highlight from the button (custom tool).