Yes, the timer definitely weights in on it executing. The timer sets the frequency it even looks for a trigger. This if from the manual showing the execution cycle of a transaction group.
Personally I always have my scan rate for the transaction group set a little less than the scan rate of the trigger tag to ensure it will see the trigger. I also use the only execute once while trigger is active, same as you did, to ensure if it is still triggering on the next scan that it doesn’t do a second entry.
If the trigger it held on until it receive the confirm I’d have to wonder if the confirm didn’t cause the reset as you would expect. Any chance your monitoring both of these points in the historian to ensure they are triggering and resetting as you expect them to?
Also if it is held on until the confirm is sent on success what do you do if this isn’t received? Do you reset the trigger, and trigger it again? Where you said it is held on if you don’t have an action for when you don’t get a response then you could end up with your trigger stuck on if there was a problem with the transaction group. Personally I’d either add a failed handshake or set up a timer after triggered to wait for the confirmed, if you don’t get it then reset and re-trigger your event or cause some other action so you either know it failed or you cause it to retry. At a minimum you should have it reset after a period of time.