Und wie wäre es, wenn du entsprechend über OnMouseOver und OnMouseLeave (oder so) deinen Hint nur initialisierts, wenn die Maus über der TreeView ist und beim Verlassen dann wieder den "Originalen".
Also einfach nur HintWindowClass entsprechende der aktiven Controls setzt.
Die Verwaltung und speziell die Zeiten sollten dann ja auch wieder passen