As I explained, by putting two or more SendDatas together, Winsock might join it just as it breaks things up. When you loop the SendData in the way you did, it is almost the same as putting them together.

Code:
For i = 0 to 3
   Winsock1.SendData "Test"
Next i
Is almost the equiv of

Code:
Winsock1.SendData "Test"
Winsock1.SendData "Test"
Winsock1.SendData "Test"
Winsock1.SendData "Test"

Your two (I can think of) solutions is to use the foolproof but longer way of SendComplete or put a small wait after the SendData which will give it time to send the data before the loop comes back.

Sunny