Yes, I knew about this behavior with _MEM from the extensive examples and tutorials on the subject you have provided over the years. And yes, I would also assume that DIM would clear/null newly created variables, that why I always DIM every variable I use in code.
It's just that lately routines I create to fire only when a variable is true (non-zero) are triggered without my code setting the variable. Now here's the strange part ... when I print the variable to see what's inside I'm presented with zero. However, for example, an IF statement will treat the variable as being non-zero. If I set the variable to zero manually upon it's creation the IF statement will then see the variable correctly.
It's strange behavior and I can't pin down or predict when/where it will happen in code. I do know though if I zeroize/null all variables before use this behavior seems to disappear in my code. Again, this seems to happen much more often with _BYTE declared variables.