Getting the same problem here. I posted about it yesterday but I may as well post here too. It usually only happens if I have been playing for more than approximately 45 minutes.
I would suggest to those having this problem that as a temporary fix for your save files go into retroarch.cfg and find the line
and put in the interval that you would like the game to save (in seconds). This saves all “non-volatile” data in the SRAM which includes save files but perhaps not save states (mine haven’t saved, but I may have configured them incorrectly).
Of course this doesn’t stop ES freezing or the need to unsafely powering off your pi. I hope a fix for this can be found soon.