We had similar problem and after investigating, the problem seemed to be that we used setting
SyncFieldSizes := True
to force synchronizing between DB and client string field lengths, but procedure SyncStringFieldSizes checked only against
if DataType = ftString then
instead of
if DataType...