Vermutung: Wenn der eintrag existiert, dann wird darin auf einen Node zugrgriffen der nicht existiert oder anders heißt und dann wird ohne Typprüfung, bzw. ohne VarToStr blind auf den Wert des nichtexistierenden Knoten zugegriffen.
Ergebnis 0 wird gelesen und dann wird versucht das nach String zu casten, was dann knallt.
Also in der
IDE ... nicht in deinem Code.