Hi,
Apparently, there is a bug in Proteus or MikroC EEPROM library. There are several issues similar to you own when using the EEPROM library in Proteus, but perform as expected when implemented in real hardware, posted in several forums. However, custom routines written without the MikroC EEPROM library, seem to perform without error in Proteus, very interesting.
I managed to have the simulation run successfully with your code by change the "Data EEPROM write delay" under Advanced Properties to any value in nanoseconds, however any value in milliseconds or microseconds produces similar errors.
I have attached the Proteus file so that you can see the property setting.
BigDog