Just replying to this in case it helps someone else. So it was working fine but eventually I had a bet placed before calculations were performed again. I'm pretty confident it's because the win/loss time is taken at the same point as the calculations are performed so because the bet is being placed before calculations. The conditions in the trigger will use wl_time from the previous event before the one just settled so therefore now_time-wl_time will equal greater than the 120 second time delay,
I haven't programmed it yet but I'm thinking I'll be added 24 hours to wl_time during inplay when a bet is matched on that event. That will make now_time-wl_time a negative number and will be less than my time delay of 120 seconds.