Yes, what you are seeing is expected behavior. No, you must restart
AOLserver - at least that's what I've always done.
The OpenACS package reload feature is a clever hack, not a complete
solution, and it only works for connection threads. It has
no effect on the scheduler thread. There may be better ways to
implement that reload feature nowadays, but AFAIK no one has done so
yet.
In particular,
ns_eval
might (and probably should) do the right thing! I'm not sure though,
I've never checked to see if it affects the scheduler thread.
Somewhat related, Jeff Hobb's also
recently mentioned
that the Tcl mod-8-3-4-branch CVS branch includes a Tcl interpreter
cloning function, which unfortunately was never made part of the
standard Tcl core.