If you throw out every possible design because you can't detect fraud perfectly, you'll never have any solution to anything. The questions we actually need to answer are:
* Does compliance with the law create the behavior we want or does the law itself incentivize bad behavior?
* Can we reasonably detect a large enough percentage of fraud that the distortion to the system will be minimal?
On the second point, see patio11's The optimal amount of fraud is non-zero [0].
People better qualified than I am should analyze anything before we implement it, but at face value I'd guess that OP's proposal stands a good chance of being much better at both metrics than the current system (which is hardly fraud-free).
[0] https://www.bitsaboutmoney.com/archive/optimal-amount-of-fra...