Olá Will
Normalmente uso o fórum do SAP Business One, então fiz uma suposição incorreta. No SAB B1, você pode criar Campos Definidos pelo Usuário (UDF) e se for um UDF do tipo caractere costumava ser criado como nvarchar(max), o que causava problemas no Crystal, por isso tenho conhecimento sobre isso. Mas ao reler, você definiu esses tipos de dados por conta própria.
Além disso, para qualquer usuário SAP por aí, testei novamente e UDFs de caractere não estão mais sendo criados como nvarchar(max), mas agora (v9) são criados com o tamanho de campo definido pela SAP, por exemplo, nvarchar(20), o que é muito melhor e evita a necessidade do método alternativo.
Saudações
Bruce