TCP is an ack/nak protocol. Meaning that all packets must be acknowledged in a certain time. I'm sure all stacks have a setting for this timeout and perhaps if you are using any stack release by me (I will not advertise which company work for) these setting might be too small. (i have seen this too, but only on my home wireless)
Also try turning off encryption on your net (wep). This might also cause delayed responses and hence the second transmission.
I wish I had more time to investigate this, so pls try and post your findings.