Basically, what you should be doing is:
1. %A <- main hash table variable name
2. create table ANYTHING_YOU_WANT.tmpNNNNN
3. write to table ANYTHING_YOU_WANT.tmpNNNN
4. /set %A ANYTHING_YOU_WANT.tmpNNNN
5. [optional] delete old table (previous value for %A)
I thought about this, but since mIRC doesn't have privatized members I find it best to keep variables to a minimal. Reduces the chance of user-action or a malfunctioning script to 'corrupt' the state of another script