I had the same problem using 16F688 and 16F876. The solution is to modify the memory burning time factor, "ProgTime".
go to:
http://www.melabs.com/support/epicini.htm
Read the general directions.
The directions say to modify epic.ini
I could not find any file by that name, but I did find a whole lot of files, one for each type of PIC chip in: C:\Program Files\melabs Programmer
named:
PIC16F84.EPC
PIC16F84A.EPC
PIC16F688.EPC .....
Choose the file corresponding to the particular type of PIC you are using. Edit the file using wordpad or whatever editor you like.
Modify the parameter ProgTime to a higher value. The directions in the URL named above say not to raise the time above 20000. I set mine to 10000 and that solved my "code programming error" problems. Trouble is, you have to edit every file for whatever PICs you are using. Pain in the ***, but it solves the problem.

Cheers and 73's
Ed Kribbs