A blank check does a read, checking that every program location is FF. If possible, do a read of the chip after erase, and look at the 8f4 location, is there FF before and after? That is, are all locations containing FF except that one byte? Or, are locations after the "bad byte" 8F4 also containing program code?
Have you tried programming some other program into the PIC? It is entirely possible the PIC chip is bad. Does the erase and verify work ok with other 16F876 chips? If so, your chip is bad. If others fail as well, then the programmer may have a fault, or something is not set up properly in the programmer.