Hola.
Ese caso es diferente, la función
IndexOf devuelve -1 como índice si no encuentra el elemento buscado y eso es lo que evalua en ese if/then.
En cuanto a el caso de
IndexOfObject de
TListBox no pude encontrar referencia al respecto, pero en las pruebas verifiqué que tanto c++ builder como Delphi no permiten moldeo de tipo
TObject sobre números negativos como argumento de la función
IndexOfObject; supongo que eso sucede por ser
TObject un apuntador.
Saludos