Mike
The only exit possibility from VLLSx is via a reset. The reset can be due to the RESET input or due to a LLWU source - either a LLWU pin or a LLWU module (such as the low power timer that you refer to).
This means that if you don't just want the reset pin as wakeup source you need to program the LLWU source as is the case when waking from LLS.
When waking from VLLS3 via a wakeup source this can be detected by the RCM_SRS0_WAKEUP bit in RCM_SRS0. Since the LLWU module state is held during a VLLS3 wakeup (via reset) the wakeup source (a pin or a module) is still pending in the LLWU module itself so you know what the source was and can react differently if you like.
Beware that some peripherals and I/Os are isolated from the normal RUN mode after such a wakeup and these need to be set back to their normal mode by acknowledging the isolation bit PMC_REGSC_ACKISO in PMC_REGSC (potentially after clearing any details, settings in the peripherals beforehand if needed).
The MQX application is an "example" and it presumably does the simplest thing and that is to behave as if it were a regular reset. This may be valid behavior in many projects too since, depending on the exact VLLSx mode that was woken from, most things need to be re-initialised again. However, as noted previously, the reason for teeh wake up can be determined and so can also control further execution details. [eg. if it was due to the low power timer you may want the system to perform some initialisation and sleep again, whereas if it were a 'full' reset or power up you may want to also perform additional actions such as initialising external devices, etc.].
There is further information about the LLS and VLLSx mode differences and use of the wakeup modules at µTasker LLWU Support
Regards
Mark
Kinetis: µTasker Kinetis support
KL25: µTasker Kinetis FRDM-KL25Z support / µTasker Kinetis TWR-KL25Z48M support
For the complete "out-of-the-box" Kinetis experience and faster time to market