Básicamente hay tres tipos de imágenes- o índices de imágenes -en un treeview:
- ImageIndex
- SelectedIndex
- StateIndex
La primera es la imagen que aparece cuando el nodo no está seleccionado, la segunda cuando está seleccionado y la tercera es una imagen extra que aparece a la izquierda de la primera.
Por defecto SelectedIndex es igual a cero razón por la cual sucede lo que te sucede. Tienes que asignarle el mismo valor de ImageIndex o uno en especial que quieras mostrar cuando el nodo esté seleccionado, como en el explorador en donde el SelectedIndex es un folder abierto y el ImageIndex un folder cerrado.
El lugar más cómodo para hacer la asignación es en el evento OnAddition que ocurre siempre que se añade un nodo.
// Saludos