Could a timeout result in letting just the shipping charge through? If so, that sounds like a possible scenario. We've had tons of orders like this and these are the only two with this result.
Could I attach a "redirect if cart is empty" server behavior to the checkout button?