Перейти на уровень трассировки 10046 4
alter session set events '10046 trace name context forever, level 4';
Это создаст файл трассировки на сервере, который будет содержать значение привязки (чтобы вы могли видеть, является ли нулевой байт частью строки, помещаемой в SQL).
Есть ли какие-либо странности набора символов (например, используете ли вы многобайтовый набор символов)? Чем больше странностей в среде, тем больше вероятность, что вы найдете ошибку.
Последняя мысль: попробуйте CLOB вместо VARCHAR2 (4000)