Questa parte sembra fuori luogo:
insert into @BadWords values
('one'),
('three'),
('five'),
('hold')
È necessario il prefisso N per le stringhe letterali Unicode. Senza la N, il tuo codice li tratta come VARCHAR e ottieni punti interrogativi per caratteri multibyte. Ci sono anche altri posti in cui devi usare stringhe compatibili con Unicode. XML è solitamente UTF-8 e quindi dovrebbe essere in grado di gestire i caratteri Unicode, anche se lo standard scoraggia questi . Il tuo codice dovrebbe essere simile a:
insert into @BadWords values
(N'one'),
(N'three'),
(N'five'),
(N'hold')