Hola, no necesitas poner esos begins despues del if, ya que solo son necesarios cuando debajo del if hay mas de una instrucción. Además en este caso es mejor utilizar un repeat o en todo caso un while en lugar de un bucle for, porque este último te va a recorrer todo el ListBox siempre, y si la cadena la encuentra, por ejemplo, en la segunda linea no necesita seguir recorriendolo.
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
i := 0;
repeat
if ListBox1.Items.Strings[i] = 'Pepe' then
Edit1.text := 'Encontrado';
i := i + 1;
until (i = ListBox1.Items.Count) or (edit1.text = 'Encontrado');
end;
Bytes...