O truque que funciona é COLETAR seu valor para Latin1_General_BIN antes de usar REPLACE e também use nchar(0x00) COLLATE Latin1_General_BIN para string_pattern .
REPLACE ( string_expression , string_pattern , string_replacement )
select
[Terminated] = N'123' + nchar(0) + N'567'
,[Replaced with -] = REPLACE((N'123' + nchar(0) + N'567') COLLATE Latin1_General_BIN
, nchar(0x00) COLLATE Latin1_General_BIN
,'-')
,[Removed] = REPLACE((N'123' + nchar(0) + N'567') COLLATE Latin1_General_BIN
, nchar(0x00) COLLATE Latin1_General_BIN
,'')
Aqui está o resultado (use Output To Text):
Contains Replaced with - Removed
---------- ----------------- --------
123 567 123-567 123567