I'm a little late to this thread, but anyway....
I (for one) brought this quirk to the attention of Freescale over 4 years ago (for a QG8 chip) and I've not seen any documentation from them that either declares it to be a flaw or even to bring it to the attention of their users. Listed below is the first of many exchanges I had with them over this subject. The end result was that they tell me that once the modulo count is reached, an overflow event is inevitable on the next timer count. Well, yeah, that's what I was trying to tell them. Kinda screws it up for use as a one-shot timer.
Subject: MC9S08QG8: MTIM Reset Success Dependent Upon COUNT value
Description: If you reset the modulo timer by setting the TRST
bit in MTIMSC or by storing a new value in the
MODULO register, the timer WILL STILL TIME OUT
ON THE VERY NEXT CLOCK if the COUNT register
was equal to the MODULO count at the time of
reset.
For example, lets say the output of the prescaler is
1 KHz (1ms period), and your MODULO value was
99. If you set the TRST bit at a count of 98 (or less),
then the COUNT will reset to 0 and the timer will
not time out until 100ms after setting TRST. This is
the expected result. However, if you set TRST while
the COUNT is 99 then the timer will time out within
1 ms (at the next clock output from the prescaler).
The implications of this is that one cannot
configure the MTIM for a desired timeout value if
the COUNT register currently equals the MODULO
register. If you do the timer will time out sooner
than expected (on the next clock pulse from the
prescaler). This can go undetected during product
testing but can/will show up later when these
conditions are true.