It might be helpful if you performed a regular, command line ping and sniffed the results. It should be a helpful diagnostic to see if the returned packet (from a different address) makes it back to the OS ping program. So if you see the returned packet in the sniffer, but the command-line ping program doesn't see it, then it could be the OS or some sort of resident firewall blocking it.