Вы абсолютно уверены, что это не работает? Я сделал быструю проверку в SSMS с двумя различными способами представления результатов.
Тестовый код:
declare @rich_text_to_modify as nvarchar(200) = N'line1<BR>line2';
select @rich_text_to_modify
set @rich_text_to_modify = REPLACE ( @rich_text_to_modify , N'<BR>' , NCHAR(13)+NCHAR(10))
select @rich_text_to_modify
Представление результатов с использованием 'Results to Grid (Ctrl + D)'
Представление результатов с использованием 'Results to Text (Ctrl + T)'
Как видите, ваш метод работает нормально. В сетке символы конца строки переводятся в пробелы. Может быть, есть проблема с методом, который вы используете для проверки?