Hola wilcg.
El código se podría optimizar dependiendo de si las listas tienen elementos repetidos, estan ordenadas, etc. , pero de este modo te va a funcionar para cualquier caso:
Código Delphi
[-]
procedure RemoveRepeated(const Source: TStrings; Target:TStrings);
var
i, j: integer;
begin
for i:= Source.Count-1 downto 0 do
for j:= Target.Count-1 downto 0 do
if Source[i] = Target[j]then
Target.Delete(j);
end;
Saludos