Primeiro, verifique se você executou o script de criação no banco de dados correto.
Segundo, como @astander começou a mencionar, você está usando os resultados da função incorretamente.
Sua função retorna uma tabela, não um valor. Você precisará executar a função como parte de suas instruções sql, não durante a compilação de consultas ad hoc. Por exemplo, este código:
set @[email protected]+'UNION select items from'+ dbo.FN_Split(@p_SourceText,
@p_Delimeter)+' where orderId ='[email protected]+')'
se tornaria:
set @sql = @sql+'UNION select items from dbo.FN_Split(' + @p_SourceText +', ' +
@p_Delimeter + ') where orderId =' + @i + ')'
Faça alterações semelhantes em todos os lugares em que você estiver referenciando a função.