Finally found the culprit. It was not an issue with the PLC code at all.
1. This is a distributed Ignition system running a central gateway and 5 edge gateways. (call it central and areas 1-5)
2. Each edge gateway runs the exact same program as the central, just limited to the screens in that operation area and only connected to that area's PLC. (call them PLC 1-5 for areas 1-5, respectively)
3. There is a script on the central gateway that runs at 4am to set all of the PLC times based on the computer time.
a. This script execution needed to be restricted to the central gateway, but was not.
b. Area 3's PC time was set wrong.
The combination of (a) and (b) above caused the area 3 PLC time to be reset to 4am at 4am from the central gateway, and again at ~3pm from the area 3 gateway. That's why this comparison never executed.
I've now limited that clock reset execution to only happen from the central gateway. (and updated the area PC time, of course)