I must say I'm rather confused as well, but I gave it a try. Here's what I came up with:
HotKeySet("{ESC}", "_Exit")
Global Const $iStepSize = 32
Global $iX = 0, $iY = 0
Global $iTargetX, $iTargetY
Global $hWnd = GUICreate("", 512, 512)
Global $hTargetLabel = GUICtrlCreateLabel("", -$iStepSize, -$iStepSize, $iStepSize, $iStepSize)
GUICtrlSetBkColor(-1, 0xFF0000)
Global $hLabel = GUICtrlCreateLabel("", $iX, $iY, $iStepSize, $iStepSize)
GUICtrlSetBkColor(-1, 0x0)
_RandomizeTargetLocation()
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
; loop
If ($iX < $iTargetX) Then $iX += $iStepSize
If ($iX > $iTargetX) Then $iX -= $iStepSize
If ($iY < $iTargetY) Then $iY += $iStepSize
If ($iY > $iTargetY) Then $iY -= $iStepSize
GUICtrlSetPos($hLabel, $iX, $iY)
If ($iX == $iTargetX And $iY == $iTargetY) Then
Sleep(1000)
_RandomizeTargetLocation()
EndIf
Sleep(300)
WEnd
Func _RandomizeTargetLocation()
$iTargetX = Int(Random(0, 512, 1) / $iStepSize) * $iStepSize
$iTargetY = Int(Random(0, 512, 1) / $iStepSize) * $iStepSize
GUICtrlSetPos($hTargetLabel, $iTargetX, $iTargetY)
EndFunc
Func _Exit()
Exit
EndFunc