Using "reload" or "watch" from the APM will not reload the procedure in any scheduled procedure threads.
To reload the definition of a tcl procedure you must restart the AOLserver.
Alternatively you can re-source the file using ns_eval using the developer support shell something like this
ns_eval {source [acs_root_dir]/packages/package-key/tcl/my-procs.tcl}
(Someone should really fix the reload procedures to use this, I am pretty sure this works reliably for the last few years.)
If you have restarted the AOLserver make sure you stop the AOLserver process and restart it. If you do not, the second AOLserver will not be able to bind to the IP address and will exit. Watch the error log to make sure AOLserver stops and restarts.