On your first question all timers the store knows about are stored in a map. `delete_timer` checks the map, and if the timer ID is not present, does nothing else. 

On your second question:
*  Chronos is fault-tolerant, so restarting doesn't drop your timers. 
*  I've worked on components in the past where carrying on working while in a bad state (but pretending you're in a good state) is way worse than just falling over. I think an offensive assert is actually more cautious than some defensive code that might not clean up properly. 
*  Given that chronos is still quite new (and is undergoing a lot of testing) I think I'd rather just hit the assert and fix the bug :-).