By looking into the code there seems to be a lot of magic going on in the loading process, some of this seems optimizable. Using ns_eval instead of the rp-hack won't be sufficient to change the tcl-code in already running (reused) connection threads (with maybe long threadtimeouts). one could certainly think about shutting all connection threads down, when the blueprint is changed, but this is another issue.
i am as well not very happy about the loading order of tcl/*-procs, as i would like to be able to define classes in one package and use these in another package, not worrying about the alphabetical order of the package names. Has anybody thought about using the package dependencies of apm for determining the loading order? within a package, one could add a flag in ad_library to override the alphabetical order...
For the time being, i have fixed the original problem within the xotcl thread support.