Yes. The doctor is breaking his contract, by waiving the copayment - unless he is actually paying the copayment on your behalf.
1. Yes, it's normal for any medical provider in the USA, to artificially inflate the rates he charges, when he bills the insurance company. It is one of the major problems with our medical system here.
2. Yes. He can charge anything, and he can charge different people - or different insurance companies - different amounts. There are NO regulations at this time, regarding what medical providers can charge.
3. You can tell your insurance company that your copayment was waived - that's the only fraud I see here. Of course, your provider can then come back and bill you for it, and call it an "error" on his part, which is what I see happening.