My experience with MS SQL is that any sort of BLOB field, including Text, is going to cause problems. However, starting in SQL 7, VARCHARs may be up to 8000 bytes long. This may solve your problem right there.
If you need to store something longer than that, try this sort of layout in a table:
record_id INT,
sequence_id INT,
text_fragment VARCHAR(8000)
Break up your text into 8000-byte sections and store them with an incrementing sequence_id. Then you can do a
"SELECT text_fragment FROM table WHERE record_id = $recordid ORDER BY sequence_id"
and then concatenate the results.
BLOBs are stored in a separate file structure than other field types; the placeholder in the physical record is a long pointer to the BLOB. Therefore you can't do SELECTs on a BLOB. Using VARCHAR takes care of this problem.