Ja das ist genau das was TiGü meinte.
Dein größter Fehler war eben (wie ich in meinem vorletzten Post schrieb), dass du das OnFreeNode Event implementiert hast. OnFreeNode gibt die Daten die an die Node gebunden sind frei. Zumindest, wenn du das in dem Event so festgelegt hast.
Und da du im OnFreeNode() die Instanz per Remove() aus der ObjectList gelöscht hast, wurde die natürlich auch beim leeren des Trees mit VST.Clear() ebenfalls gelöscht.
Das Neuzeichnen des Trees wird durch das setzen von RootNodeCount, aber auch durch das vorhergehende löschen der Nodes mit VST.Clear() ausgeführt.