Wenn die obere Grenze der Schleife kleiner ist als die untere Grenze wird die Schleife nicht durchlaufen. Falls also keine Elemente in der Listbox sind (was theoretisch ja passieren könnte) wird die Schleife nicht durchlaufen und damit das if-Statement ebensowenig.
Also eher so:
Delphi-Quellcode:
function TForm1.schonda(s:string):boolean;
var i,a:integer;
begin
result:=false;
a:=listbox1.items.count;
for i:=1 to a do
if (s=listbox1.items[i-1]) then
begin
result:=true;
break;
end
end;