Change the Arduino IDE so that any attempt to use the Upload button produces an error message if a programmer has been specified.
If [chip erase] hasn't been done, the flash can't be updated
IDE version is 1.0.5.
The actual problem (as I see it) is that it is possible (easy) to get a quite mysterious error message (verification mismatch) using the IDE, when the IDE (or even the ArduinoISP sketch) could detect the problem in advance and produce a much more intelligible error message or perhaps avoid the error by taking a different programming path.What actually happens is this. Boards.txt has the upload protocol for some board set to stk500v1 (as in mighty_opt.upload.protocol=stk500v1). Of course, it doesn't have to just be stk500v1. Any ISP type programmer would probably produce the same error. Note that I specified stk500v1 because I was using the ArduinoISP sketch (running on an Uno R3) to load other sketches (blink for example) onto my target system (ATMega1284p).