It just ocurred to me that you may be sending back a "runt" packet (<64 bytes?) which is getting dropped by the host. There's a minimum ethernet frame length - pad anything <64 bytes with junk, it's ignored.

Hugo