Can you change the data type? As of SQL Server 2005 ntext support is being discontinued by Microsoft in favour of nvarchar(). Might be an easy way to fix it.
That a side, the WRITETEXT function shouldn't be truncating the data. You might try sticking a break point in the Hibernate code where the value is bound, see what data finds its way into this. WHich
JDBC driver are you using?