Page 35 of the TailorPro User Manual v7.1 states:
"TailorPro values, like "normal" variables, disappear at the end of a session if you do not delete them."
This doesn't seem to be quite true when running in QAD's .Net UI. When I start up new user sessions, I often see values that I had set within previous sessions.This can yield very unexpected results if you're not expecting it to behave this way, and raises concerns about the wisdom of using such variables.
In .Net UI, the concept of a session isn't so clear-cut any more. The connection manager client sessions don't end when a user closes an application, they just return to an idle status until another user connects to them. Anything left behind by the previous user, such as persistent programs, record locks and even transactions, become part of the next user's context. The statement from the TailorPro manual that you are referring to becomes misleading, because the relevent session is the Progress/TailorPro session, which runs all day. You are correct in that this creates a treacherous situation to work in, since you must be sure to explicitly clean up everything that you create. The user can even bail out at any point by closing a tab. In the case of TailorPro variables, the safest approach is probably to attempt to retrieve with "delete" all of the variables that will be involved at the front end of a series of screens where they will be in play. That will eliminate any unexpected carryover from prior unrelated activity. Another approach might be to use the QAD session ID (mfguser) as part of the key to the values that you save, so that variables from a different user session would not be retrieved.