Alex - it uses ns_cache and uses stuff it gets from stat'ing the .tcl source file as part of the key. In short, the .tcl file gets recached and recompiled if it changes.
Talli - Jim Davidson posted a set of stuff he was working on to the opennsd "founders" e-mail list. I don't know if he has published anything in public yet. One thing folks are talking about is to drop support of Tcl7 altogether. This would allow the server to plug into Tcl using Tcl Objects rather than Tcl strings galore, which is supposed to be a considerably more efficient way for the server to talk to the interpreters it spawns.