If you type this you will see the timer start its repetitions after the loop has finished
Code:
//timerctest -m 3 500 echo -s $!ticks | var %a = $ticks,%b = %a + 1000 | while %a < %b { var %a = $ticks }


Now this one (identical except for the "c"), again the timer fires after the loop, but the first couple of reps are fired immediately the loop has finished, so as to 'catch up'.
Code:
//timerctest -mc 3 500 echo -s $!ticks | var %a = $ticks,%b = %a + 1000 | while %a < %b { var %a = $ticks }