You have to do it the first way. You see, if you try to use the second one it wont work, thus the TempPoint1 is referring to "position of picked unit". If you use it before the loop, the point will be set to " " (useless by other words), since "picked unit" isnt existing yet.
The same goes for TempPoint2 since its trying to create a location with the help of the first one, but since this is not declared, it will happend nothing here as well.
Conclusion: First one is the one to use, second one is useless.
Hm the event is perhaps not needed to be set to 0.05 seconds; Is it a "debug antistuck thingy"?
Edit: thats funny... graystuff was a little faster than me... yet, both is rounded up to same time :>