Creo que lo has hecho al revés. Es decir:
Código:
Panel1->Visible = !Node->HasChildren; // Panel1 es Visible si NO (Node tiene hijos).
Debería ser:
Código:
Panel1->Visible = Node->HasChildren; // Panel1 es Visible si Node tiene hijos.
Al menos eso creo, por lo que dices.
[edit]
Empate, Casimiro.