The problem is SQL Server which has an 8K max for a record. A single field of nvarchar(4000), at 2 bytes per char, is 8k right there.
It has NOTHING to do with the limit for a textbox (which is much larger than 8k) nor with DevForce which could care less about how big any string is. SQL Server imposes the limit.
In Sql Server, if you want anything that is larger than 8k, you have to declare the field as nvarchar(max) [Sql Server 2005] or I-forget-what for Sql Server 2000. Behind the scenes, SQL Server moves this data into a special "large object page".
You DO NOT WANT this in your business object because the perf of these large objects is not good. In fact, you never want a Sql record to get anywhere close to 8k because that screws up Sql Server's paging and makes storage and retrieval less efficient.
You really want record sizes that are nice and compact. Anything large should be shunted off to the side.