Yes, if you use "wait" in a loop, you can't access any temporary variables (local variables, loopindex expression, function parameters etc.) after the "wait" action.
You need to use either global variables, instance variables or static local variables.
For example, this will not work:
For i=1 to 10 -> Wait 0.5*loopindex ; Create Sprite at (loopindex*50, 200)
You have to change it to something like this:
Local Static variable x=0
For i=1 to 10
... Wait 0.5*loopindex
... Add 1 to x
... Create Sprite at (x*50, 200)