Me alegra que ta haya servido. Pero tiene un pequeño defectillo que hay que corregir. En la línea al final del ciclo, donde dice:
Código Delphi
[-]
TextStart := RichEdit.FindText(Text, 0, Length(RichEdit.Text), [stWholeWord]);
debe decir
Código Delphi
[-]
TextStart := RichEdit.FindText(Text, TextStart, Length(RichEdit.Text), [stWholeWord]);
Como estaba, hacía la búsqueda desde el principio del texto cada vez, y con el cambio lo hace desde donde encontró la ocurrencia anterior de la palabra.
// Saludos