Global variables are only global within the same Tcl interpreter. Each Cloverleaf process has its own interpreters. There are three interpreters within a process, IB, Xlate, and OB.
So a an ob_sms-data_proc could share a global with a reply proc for example.
Take a look at the recover_33 proc, it is based on sharing of a global. But note that all 3 procs are in the OB thread of the same process.
Remember when you run a process, you are running a separate instance of the program. An analogy would be to run ftp and then run another instance of ftp. Niether is aware of the existance of the other.