Du könntest die Liste in absteigender Reihenfolge durchiterieren, den aktuellen String nach der gesuchten Zeichenfolge durchsuchen und bei Treffer löschen.
Delphi-Quellcode:
for i := Liste.Count - 1 downto 0 do
if Pos(Suchtext,Liste[i]) > 0 then
Liste.Delete(i);
[edit] Wenn die gesuchte Zeichenfolge immer am Zeilenanfang steht, wäre eine explizite Pos-Abfrage auf 1 allerdings ungefährlicher. [/edit]