Charles,
What if you simply process both requests? That is how a couple of developers are dealing with this situation; they just process it twice. The major advantage of dealing with it in this way is that if indeed it's a Shopify bug (which seems likely), they will be sure to correct it, and when they do, you don't have to make any adjustment to your code.
Another way to deal with it is to simply ignore the second request, but I'm not sure of the ramifications.