Das ist nicht schwer, daher als Hinweis:
Pos liefert dir die Position im String, an der dein Suchstring gefunden wurde.
PosEx macht genau das gleiche, nur kannst du hier zusätzlich im 3. Parameter angeben, ab welcher Position gesucht werden soll.
Diesen Parameter setzt du folglich auf "PosEx + 1" und schon wird im String weiter gesucht.
Der Kopf deiner While-Schleife könnte grob wie folgt aussehen:
Delphi-Quellcode:
AktuellePos := 1;
while (PosEx(UpperCase(Edit1.Text), UpperCase(Richedit1.Text), AktuellePos) > 0)
begin
AktuellePos := ...;
end;
Das als Hilfestellung.