Есть такая идея - реализовать распознавание не по тексту,а по положению в тексте. Допустим, нашла твоя процедура слово ПРИВЕТ. Функция pos('привет') выдаст тебе, например, 10. Эту десятку запоминаешь и заменяешь слово, потом ищешь следующее, запоминаешь, и т.д. А вот, когда ты уже будешь заменять слово ЗДРАВСТВУЙТЕ, ты смотришь на позицию слова, и, если его позиция в списке есть, тогда не заменяешь.
P.S. Эта идея мне в час ночи кажется вменяемой, так что не судите строго
