. . .Can you not save persistent data to EEPROM?
of course you can, this is why we use EEPROMs!

I see several reasons for EEPROM data not being what you expect it to be:

It has not been written to EEPROM (is your timing ok?)
or
it is being overwritten during the power up.

In both cases there must be something wrong in your code.

I assume you have already tried a different chip to ensure the EEPROM itself is ok.