In testing on FRDM-K64F, I find that periodic resets sometimes result in either:
The upgrade not happening, and the existing slot0 image being run
During a revert, the image remaining, and the revert never happening
Both seem quite similar behavior. I can reproduce with just a dozen or so upgrades with reboots.
Since this should be caught by the simulator, I would suggest first trying to reproduce this in the simulator to see if there is any window being missed.
Tested with both Mynewt-built and Zephyr-built code.
Running on FRDM-K64F