What address are you using to ping? I've always had issues with Ad-hoc with regard to reliability. The standard just doesn't seem to be very mature unless you know what you are doing.
Here's what I usually do. Go into Network Connections and go to properties for the wireless adapter. On both machines, set the IP manually (192.168.0.x or whatever suits you), and subnet of 255.255.255.0. On one machine, leave default gateway and DNS servers blank. On the other machine, set those fields to the IP of the other computer.
I eventually realized that 80% of the time it took to establish a connection was because of IP. It's a lot more forgiving when set manually. Let me know if this improves your condition.