The bug - counter continues to display most recent value despite a reflector having set it to zero in the meantime.
The symptom - In my house I have a puzzle I've been building that involves picking up three orbs and delivering them to their catchers. As each orb is delivered a counter is incremented. The counter is set to display its value so the player sees it count up -- 1 -- 2 -- 3.
When orb number three is delivered, the reward activates, and the counter activates a reflector that, among other actions, sets the associated counter to zero. However, instead of removing the on-screen display value (which appears to be the default action for setting a counter to zero) the counter instead continues to display the value '3'.
Picking up and delivering an orb at this point changes the display to '1', showing that the actual value of the counter was, in fact, zero. (Otherwise, it would have incremented to 4.)
The interesting thing is that only the reflector that is triggered by the counter itself exhibits the bug. Setting the counter from one of the other reflectors, or from a switch, produces the expected results.
In short - Counter displays 3, counter triggers reflector, reflector sets that counter that triggered it to zero, the counter resets but the display remains unchanged.
As for the specific programming on the reflector - Summon Unicorn on nearby bread crumb Set the aforementioned counter (the one that triggered the reflector itself) to zero Make a target item invisible Play "puzzle complete" sound
If you need to go look at it first-hand, it's character Slickriptide, Red Barn House that has the setup that exhibits the bug.
After a lot of experimentation, I was able to "fix" the issue by inserting a timer between the unicorn and all of the cleanup/re-initialization programming.
Even a timer as little as one second was sufficient. With no delay at all, some actions overran their queue and were lost. This was not limited to the resetting of the counter display. For instance, I turned the catchers translucent as they were activated, and the "re-initialization" code consistently turned two of the three opaque while leaving whichever was closest to my wizard as translucent.
However, with a one second timer inserted between the Unicorn and the "cleanup", all of the re-initialization proceeded correctly, including the counter display.
I won't make guesses about causes since your KI code jockeys are in a better position to judge that. The important thing is that pausing for even one second was enough to avoid the problem.