What is your definition of double spend?
Are you including operator error and self-inflicted (ie. allowing 0-confirmations)? The network (and access) isn't always fast enough for every use case either.
I think of a double spend as a spend with confirmation followed by another spend of the same balance. Without confirmation it seems to me that the protocol is behaving as designed and, as you mention, it's an operator error. I also don't think that it counts if it happened on the test net.
A true double spend in the wild would spook me. If a method were found to do that, it would be the most serious threat to bitcoin so far.