Avrdude Verification Error while flashing Arduino Mega code
I have made Jot's comment into an answer in the hope that it helps someone.



First mismatch in byte 0x0000. [This is] the first byte that goes wrong. That means that not even a single byte passes the verification.

Perhaps the cause is one of these:


A cheap clone with a bad bootloader.
An old bootloader.
A bug, perhaps a bug with the size of the code or ram, for example the code at the border of 32k or 64k.
Maybe the voltage of the Arduino board is too low. Measure it. It must be above 4.5V.
Maybe a bad USB cable.
Wrong USB driver.
Board is too cheap and is missing decoupling capacitors.