You don't describe exactly what *kind* of time you are measuring, but in any case it is FAR better NOT to reset the counter during operation, as you will most likely run into race conditions and/or inconsistent measurements. Let the counter free-run (modulo 65536) and simply use unsigned 16-bit math to calculate elapsed time. I measure time between sequences of rising edges, and each period is simply:
elapased_u16t = new_timestamp_u16t - old_timestamp_u16t; //timestamps pulled from capture register
The unsigned math will always give the proper difference, even including one rollover. It gets 'messier' if your time period math has to include a timeframe longer than one FTM rollover, as you have to start keeping track of overflow interrupts and THOSE race conditions will give you some headaches...