Thanks for the explanation. If I understand how a timer would work (it's quite possible I don't), I'd need to move the action outside of the function it currently sits in, so it falls in the topmost flow of the event sheet, and enable/disable triggering of the action using the allowLoop variable. Is that right?
In any event, I wound up using (what I believe is) a recursive function with a timed delay since it's something I can explicitly call at any time. Seems to work OK.