First off, Leaf Green isn't well supported or known about, especially when compared to FireRed so I'd suggest changing your base as I can guarantee that you're going to experience compatibility errors the deeper you get into hacking.
Your script is properly structure to step onto a tile, activate it and not have it activate again - the error is with the variable you've chosen. In FR at least (I'm 99.99% sure its the same in LG), variables 0x4100 and above are dedicated to 'hidden variables' used by some script commands. These variables can change without any user input so its most likely the case that your script isn't activating because 0x4100 is no longer set to 0x0.
Checkout this thread to learn more, including which variables are safe to use (generally 0x4011 - 0x40FF).