Correct, you can dispose and the reload the session at any time. Once session is reloaded all timers are reinitialized and in case of some missed fires such timers will be executed almost directly after session is reloaded.
Most important is to have only single session that runs given timers so in clustered environment that is bit tricky as you need to keep track of what timers are active on what session. There are efforts to provide more cluster friendly timer support and hopefully it will be soon available.
HTH