Mit Items.IndexOf suchen lassen, anstatt der großen Schleifenkonstruktion.
Dann wird der falsche Eintrag zurückgeliefert. Das Problem liegt ja genau hier.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStrings;
begin
sl := TStringList.Create;
sl.CommaText := 'Hallo, HALLO, haLLo';
edit1.Text := sl[sl.IndexOf( 'HALLO')];
end;