Wie kommst Du denn an NodeData?
Das ist die eigentlich wichtige Frage die ich vorhin nicht gestellt hatte. Allerdings wollte ich weitere Informationen von ihm haben um das Problem evtl. anders zu umgehen.
Den Index zu speichern könnte auch problematisch sein. Wenn z.B. eine Sortierung des Trees stattfindet, dann stimmt der Index auch nicht mehr. Es sei denn, er würde sich im OnCompareNodes() die Referenz wieder umschreiben.
Aber generell ist es sehr schlecht, von der NodeData wieder auf die Node zu schließen. Es könnte ja sein, dass ein Object auf das die NodeData^ Referenz zeigt mehrfach irgendwo referenziert wurde. Was passiert dann?
Also ich denke, dass hier ein (wie es so schön heißt) Designfehler vorliegt und das Problem an der Wurzel gepackt werden müsste.
Aber hierzu bräuchten wir erst mal ein paar mehr Informationen von TE.