By some reason, MSSQL returns varchar(-1) for varchar(max) and nvarchar(0) for nvarchar(max).
it was a reason for such failure.
you can update uDAADOInterfaces.pas as
procedure MSSQL_DoGetTableFields(const aTableName: string; Query: IDAServerDataset; out Fields: TDAFieldCollection;isAzure: Boolean);
...
if Query.FieldByName('COL_LEN').AsInteger <= 0 then //changed, was `= 0`
..
if Query.FieldByName('COL_LEN').AsInteger <= 0 then //changed, was `= 0`
after this, you can rebuild DAADODrv.dpr and put created DAADODrv.dad near to DASchemaModeler7.exe (it is in C:\Program Files (x86)\RemObjects Software\Data Abstract (Common)\Bin folder).
or just replace String with Memo in Schema Modeler