Humans and dogs share 95% of DNA, so I actually think there's a legitimate argument that their statistical model can accurately identify dogs while throwing out junk results for humans because the mismatch basically turns into random noise.
Should they have to implement that check? If you use a service improperly it's not surprising that you'd get incorrect results. Now maybe they had an inconclusivity parameter that they hid because they didn't want to have to give refunds to those customers, in which case that would be a problem.