It sounds to me like you may have done something like the following:
You place a Winsock control on your form then do a bunch of coding. Let's say you add some code to the DataArrival event:
VB Code:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Debug.Print bytesTotal
End Sub
Then, at some point you copy the Winsock control, paste the copy on your form - creating a control array. VB doesn't automatically update all your code blocks for the control events, so now the procedure declaration is wrong. It SHOULD look like this:
VB Code:
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Debug.Print bytesTotal
End Sub
Note the addition of Index As Integer to the parameters. I bet this is where the problem is.