No entendí mucho si tu problema es al pinchar sobre el nodo o al intentar seleccionar un nodo desde código.
Si es al pinchar sobre el nodo no tengo idea cual es tu problema, yo creé un TTreeView con la estructura que describes y funciona perfectamente.
Si tu problema es al seleccionar un nodo desde código creo que deberías utilizar la propiedad
Selected del TreeView (si lo usas con MultiSelect=False) o
Selections (si lo usas con MultiSelect=True). Ejemplos:
Si MultiSelect=False:
Código Delphi
[-]TreeView1.Selected := TreeView1.Items[1];
y si MultiSelect=True:
Código Delphi
[-]TreeView1.Select(TreeView1.Items[1]);
o si quieres seleccionar varios nodos:
Código Delphi
[-]TreeView1.Select([TreeView1.Items[1],TreeView1.Items[3]]);
y para borrar todas las selecciones:
Código Delphi
[-]TreeView1.ClearSelection;
Espero haya sido esta tu duda y que haya quedado contestada.