Does any memory persist through a software update?

Had an issue that a global variable flag (not EEPROM) was being set incorrectly and I pushed an OTA update. I was discussing with a user and I watched his appliance update but the issue still persisted as if the global flag was still set. When he pulled the power and plugged it back everything was correct. Is there any global memory that would persist through a firmware update but not a power cycle?

If your previous code used retained variables (hence placed in BackupRAM) and your new code also it is thinkable that this could happen.
For such cases (with EEPROM too) it’s advisable to have a retained version variable and some kind of hash including that version identifier to check validity of any given set of config data.

BTW, when asking HW specific questions it’s always advisable to explicitly state what platform your are using.
Gen1 and Gen3 don’t (officially) support BackupRAM while Gen2 does