It's difficult to tell without looking at the project, it might be a subtle bug though.
Looking at the code, a timeline that resumes playback from the exact same position as a keyframe, doesn't trigger the keyframe reached condition.
I am thinking that if playback is stopped when the condition is triggered, maybe the play head does not end exactly in the position of the keyframe but just before it. If that happens then when playback is resumed, it wouldn't technically be in the same position as a keyframe so the condition might be triggered the following tick.
That's a wild guess, I would need to look at it more closely to be sure.