Gustaf, the reason I talk about the RP is the fact that I want to take your code and make a decent OpenACS Package out of it, which can be installed using the APM (taking into account the prerequisits).
I too experience the problem of Orzenil, though I managed to get the thread::mutex command to work by just adding the package require in to the 0-acs-init.tcl. And this is the way it should be with AOLserver4 (using package require instead of loading library files manually).
Sadly though, .xotcl files are sourced before the .tcl files in /tcl, so I'm stuck again, but I managed to get this to work by adding the packagerequire to your thread_mod.xotcl right at the beginning.
So far so good, but now I'm stuck as you have a typo in your code due to the fact that you seem to have forgotten to open a paranthesis correctly "} persistent" is the culprit.
And now I got a command not found ::xotcl:: and after manually copying the code of xotcl.tcl over to my webserver I get "invalid command name throttle".
So, assuming that you have a new version anyway, I will give up at this point and look forward to see your code in the new year.