Does your FMD PLC have FRAM-RTC?
If the PLC does not have FRAM-RTC installed, then are you using a power failure interrupt routine to save parameters using SAVE_EEPx to non-volatile memory during a power failure? Or is your program running the SETTIMERSV or SETCTRSV command during operation and need to be saved to non volatile memory before power failure?
Please refer to Section "1.7.2 Non-Volatile Data Store" in the FMD PLC User Manual which explains how the pseudo EEPROM works and why you could lose data if power failure interrupt routine is not given enough time to back up the pseudo EEPROM data to flash memory.
When you power down a machine by turning off the AC power, the DC output of the power supply usually have enough capacitance to gradually decay to zero so the power failure interrupt routine can work properly.
When you press the emergency stop button, did you cut off the DC power supply to the PLC immediately? If so then the interrupt service routine is not given enough time to save the parameters. What happens is that the flash sector is erased but the CPU did not have enough time to copy the pseudo EEPROM data to the flash and therefore you lose the Ethernet parameters as well.
If you wire your emergency stop button such that it only cuts off power to the I/O but not to the PLC, then this issue should not happen.
Alternatively, organize your program so that if you need to save some data to non-volatile memory or need to change the timer or counter set values using the SETTIMERSV or SETCTRSV, then do so in the main program itself and execute the SETSYSTEM 252, 0 command to backup the new data to the flash memory immediately so that the CPU will not attempt to save the changed data to flash memory during power failure. Of course you should take into consideration that there is a 100K erase/write limit to flash memory and therefore your program must avoid erasing/rewriting to the flash memory so often that exceeds its life cycle limit and wear out the flash memory.