I believe I have found a Salesforce "feature" which could also be described as a bug. I have attached a screenshot showing how we have configured time triggers on our milestone, such that a field called CEC Commitment Priority is dynamically changed based on the amount of time remaining in the milestone. The idea is that when there 59 minutes left, it's set to Priority 3; when 29 minutes left, Priority 2; and when 14 minutes left, Priority 1. If, when the milestone begins, the initial time left is more than 59 minutes, this works perfectly. However, if it starts at less than 14, then about a minute after the start of the milestone, all 3 time triggers run in a random order. I can understand them all running, because the condition is true for all 3 of them. But it still puzzles me that Salesforce doesn't run the time triggers in order. So is this working as designed, or is it a bug?