I didn’t follow this thread from the start, but I tried to read up on it and replicate the setup. I can’t re-create a problem with the state taking a long time to update, but I’m almost certainly missing some part of your setup.
Here’s one thing to check, though: Try going into the gateway turning the logger for “Alerting.AlertBus” to TRACE. This will print out the events as they’re placed on the “alert bus”, which is what all parts of the system listen to for updates about alerts. For example, the emails get sent off of it, and the status system gets updated from it. The current state property of the tag, however, does not come from the bus- it comes from inside the tag.
Try triggering a few different alerts, and observing how long the state property takes to change. You might want to drag it onto a label in a window or something to help watch it. Ideally you would also use something like WinTail on the wrapper.log file to watch the output from the logger, but if nothing else, after a few events, open that file and paste the messages into a post here.
The fact that your message shows the low setpoint to be 0 is suspicious to me. Is there anything (a script or something) writing to these setpoint tags? Also, to be clear, the alarmed tag is an OPC tag in SQLTags, right, not in a sqlbridge transaction group?