Hi. I believe you can reach that effect by a very short and simple method, without using the While Loop or Bullet behaviour.
First, create the object you want to move (I created a sprite and called it obj_red_dot) and give it an inital false Boolean instance variable, you may call it "goal", to indicate whether it has reached its "goal", which is to get to the desired position or not.
After that, create a sprite called "obj_line", just to indicate where you want the first object to get to, which will be like you "goal line". And finally create a "trigger", which I chose to be a sprite that I will click using the left mouse button, I called this "obj_btn".
Fine. Make sure you have the Mouse plugin added and now all you need to do is writing this simple code:
Mouse > On Left button Clicked on obj_btn > obj_red_dot > set goal to True.
obj_red_dot > is goal > obj_red_dot > Set X to lerp(Self.X,obj_line.X,2.5*dt)
The velocity in which the "obj_red_dot" will lerp is set by the factor "2.5*dt", which you may increase or decrease by your wish.
One last important detail is about the origin points set to the objects "obj_red_dot" and "obj_line". Depending on the angle of motion or your desired effect you must change it to match correctly. In my example, I set the origin points for both as "right", so when the "obj_red_dot" finally finishs its move, it fits right into the "obj_line" width.
Hope I have helped somehow.