Doesn't one of the arguments in the button event/interrupt give you the time an even occurred?
You are right about Timers running forever. I found that out earlier this year and ended up writing a post about it.
Regards,
Mark
Perhaps it does in the emulator application but that information is AFAIK not available on the NETMF application because it doesn't receive a button event.