OK, just out of curiousity, what is the largest ntext value that you have? You can use the DATALENGTH() return the amount of data in a column:
SELECT DATALENGTH(textcolumn) FROM thetable
Did you try running DBCC CHECKTABLE and DBCC CLEANTABLE?
As a last resort, you may have to copy the text data out of the table, drop the column, and then copy it back in.
-Mike