Actually thats not the problem at all i think,
The 32 and the $2- is passed as needed to he alias and that tokenizies it correctly out of the $1-, the problem arrises that this only occurs in the alias that was called, so it does not effect the $1- in the calling alias, Thus apon return to the calling alias the original $1- is still intacked, as with any alias called not effoecting the callers $1-.

This I do see as a significant problem and with that in mind, i would agree that tokenize maybe should be made a special case, and not be aliasable, or at least from now on im going to use /!tokenize in my scripts.

Just back on the /SET alias
Its interesting to note that if you create a /SET alias and then say did /SET %var 1 that the $1 = "%var" and $2 = "1" the %var does not get evaluated, just as it would not in the case of the original /SET cmd, this appears to hold for anything command with speical properties like /set.