Looks like there is some limit around 2048, the following test script starts getting error 702 for values larger than 2048
isql -Usa -Ppassword -o foo.txt
set nocount on
declare @x int
select @x = 1
while @x < 2048
begin
--print "select convert(char(1000), 'a') union all "
print "select rand2() union all "
select @x = @x+1
end
--print "select 'a'"
print "select rand2()"
print "go"
go
exit
isql -Usa -Ppassword -i foo.txt
Msg 702, Level 20, State 1:
Server 'BB', Line 1:
Memory request for 16392 bytes exceeds the size of single page of 16384 bytes.
ASE is terminating this process.
-bret