I think my problem is I don't have the choice between TS variables and LV globals. I am supporting someone else's program. He already has a working TS/LV program with a global vi named "Global.vi". I developed operator interface program that initiate TS engine and call his sequence. When his sequence runs by itself, the global vi gets updated. Whereas, when the sequence is being called from my operator interface, the global vi doesn't get updated. I found that if I open the global vi before the sequence being called will fix the problem. But, this can not be a permanent solution. There must be a better way to manage memory allocation of global vi. I don't understand exactly why global vi gets updated when it is open before accessed for the first time.