tintinux, i don't know with which platform and Lazarus version you are working ..
I can speak for Windows only - no such problem here -; and in this situation i would try something like:
procedure TForm1.TreeView1SelectionChanged(Sender: TObject);
begin
ShowMessage(inttostr(TreeView1.Selected.SelectedIndex));
end;
Now, here either you see a "-1" = no image assigned = nothing will be displayed
or can inspect the image the SelectedIndex does point to within the ImageList assigned. Something special with this image?