Slow data reception

Hi all
We use digi to connect a serial device through TCP/IP, using a Borland C++ DLL. When we send commands to this device it answers serially, one byte at a time. Obviously this is very slow if we also receive the data one byte at a time over tcp/ip. So i’m changing this by raising the recv buffer size.
In my test i have no problems with the “short” answers. But when the ammount of data is larger (~60 bytes) the communication acts very strange. First of all i receive gargabe. Secondly, after sniffing with ethereal i realize that digi sends the data, complete at first. Then keeps sending fractions of the same data. So when i send another command to the serial device, althought it answers i keep receiving fragments of the 60 bytes.
Any ideas? should i force my app to keep receiving data after i receive the needed data, to make digi stop sending those chunks?

Thanks in advance