This appears to be a Windows issue with milli-second timers; regardless of the order timers are created, Windows triggers them in a random order if their trigger times are close.

If ordering is important, you could try using the /timer -h switch for a high resolution multi-media timer which seems seems to trigger timers in the order they were created.