I'm not a network specialist, but it seems that the server in question might be restrictive in the way the handshake is performed (this can only be confirmed by analysing tcpdump output).
I don't think you need to re-compile the kernel, you might be able to manipulate the way things are done on your site by (un)setting one or more of the
net.ipv4.tcp* options available from sysctl
I have to be honest and say that I would not know exactly which ones and what the proper values would be.
Only advise I can give you: Do a net search on
SYN ACK tcp option field
EDIT: Maybe this article could be of use to you:
RFC 4413 - TCP/IP Field Behavior (especially 4.2 / 4.3)