You might want to consider xotcl-core and its threading helpers, defined in xotcl-core/tcl/40-thread-mod-procs.tcl. There are many nice aspects about these helpers (persistent vs. volatile threads), but, regarding your case, ordinary apm reloads are supported. Once the thread-declaring file is piped throught the apm reload mechanism, the ::xotcl::THREAD object takes care of re-initialising the managed Tcl thread (through the XOTcl recreation mechanism, for the interested reader). But the interface hides this from you, completely!
See api-doc for intro reading ...