I have this client which initiates a 3 way handshake with a SYN packet but there is no SYN ACK response. We figured out that it was because the client did not pad the end of the TCP headers with 0's or F's but with other values (we used packet builder software to confirm this). The server is Windows XP 32bits version 2002 Service Pack 3. I tried it on Windows 7 and the problem does not occur. Has anyone ever heard of this type of problem? Could it be because the server runs on windows XP? I've tried simplifying the network link (local link), i've tried with the server running in safe mode and same results occur. The providers of the client say they have validated that it works with a windows XP server on their end.
Padding with zeroes is the only valid TCP header padding that I know of. (Not with F's. See RFC 793 dated 1981!) It has been this way for a long time. Windows XP did this as well. The only reason why your copy of Windows XP would not be doing this (that I can think of) is because of your NIC drivers. Make sure you're using the best network card drivers.