As a certified computer network engineer with many years of experience, and knowing how computers, programs, hardware and networks ACTUALLY work, I can tell you that "the network" simply cannot be the problem.
The gifting process is a transaction between machines. Their behavior is dictated by the program. The program should direct that neither machine completes the transaction until both machines verify the exchange is complete.
Therefore if a gift goes missing, then one or both machines followed instructions to delete it. Those instructions can only come from the program. If there is an error, it is the developers fault.
While networking hardware may cause various physical and data-link issues, it cannot ever pass along instructions that do not exist, unless of course random noise actually forges an authentic and valid data packet stream. This probably occurs at a rate of once every 100110110110110101010101010 data packets.