Pues a mí me funciona, lo único es que hay que poner lo siguiente en la primera linea
Código Delphi
[-]richedit1.SelStart := Pos(lin2, RichEdit1.Text) - 1;
Para que te coja todos los carácteres.
Y eso de que te coja siempre la misma linea, ¿haces un bucle y el valor de lin2, es siempre la linea actual del bucle?
Saludos