In fact, unless you're running other scripts that you found irrelevant (very unlikely, isn't it ?
), it could be a threading problem. ioFTPD kills the tcl interpreter if it for some reason it stops responding after a few mins (120 iirc), but I wonder what happens if it runs out of available threads for the interpreters.
Could you paste the [Thread] section of your ioFTPD.ini ?
You might also want to run Dr Watson to see when and how it crashes. It may not be usefull if it's only hanging like you said.