Hi Dror,
Are you be chance using Cursor type (from ODBC API level, not driver) of Static? This is set with the SQLSetStmtAttr(SQL_CURSOR_TYPE) command.
If this is so, try setting to FORWARD_ONLY (default setting) to see if it changes behavior.
I've seen problem with SQLBindColumn.
As for SQLGetData:
The other thing I think about is the 727861 CR I mentioned in my previous reply. I think you should try to upgrade the ASE ODBC Driver to the 15.7 SP100 (15.7.0.1000). The buffer length was passed as 0 in this case, and the truncation, in the case I worked, was somewhere around 200K. I think if you increase the textsize, no matter to what, this problem will occur and it was a bug in the driver - it might be what you are experiencing.
If textsize was set appropriately (and I don't believe the driver does nay pre-allocation of the textsize, it waits until runtime to determine the size of data it must send to ASE based on program parameters, or when receiving - it grabs stuff from the network buffers and I believe it creates internal buffers dynamically.
I assume you will be able to download the 15.7 SP100 from the SAP Service Marketplace?
Cheers,
-Paul