There is no magic wand to do this in the LabVIEW internal code automatically. The correct block size and delays depend on many things such as your network setup including your network card and its drivers, intermediate routers and switches, the actual connection such as hardwired, 10MB, 100MB or GigabitEthernet or maybe dialup connection you have etc. Also while such an approach works well for huge data it could degrade performance for short data, so that you get into trouble when trying to implement fast request/response protocols with only short data messages each.
The real problem I would expect is in the fact that LabVIEW needs to maintain all the data in an intermediate buffer even after the write function returns, eg. not all data has been necessarily received by the other side when LabVIEW returns from TCP Write and of course the according buffering in the receiver side is even more necessary as well. With huge MB buffers the underlying memory manager is exercised a lot more and there is no way NI could avoid that buffering other than dropping the data which couldn't have been sent off in a single shot.
So no, there is no no simple way NI could do this chopping into small pieces without inconviencing you and others in some different way.
Rolf Kalbermatter
Rolf Kalbermatter
My Blog 
DEMO, Electronic and Mechanical Support department, room 36.LB00.390