Welcome, James, to the OEM forum.
That in fact is how the emonTx handles it. But the “reset to zero” is recognised and handled correctly by the “Wh accumulator” (also the kWh accumulator) in the emonCMS Input process which you’re bypassing by sending via MQTT, I believe. In fact you’re not bypassing that when you use MQTT, it’s only emonHub that you bypass.
The very latest emonTx software does store its energy values in EEPROM - not every reading every 10 s, but only when there’s a significant change in one of the values. We calculated that on the trade-off between lost energy and EEPROM life, it ended up at a projected life of 60 years.