ganz einfach

move(60,FWD,DIST_MM(1000),true);

wird jedesmal ausgeführt und deswegen fährt er weiter.
Für was brauchst du eigentlich eine while Schleife?


#include "RP6RobotBaseLib.h"

int main(void)
{
initRobotBase(); // Mikrocontroller initialisieren

powerON();
move(60,FWD,DIST_MM(1000),true);
startStopwatch1();

while(true)
{
if(getStopwatch1()>2000)
{move(0,FWD,DIST_MM(0),true);
setStopwatch1(0);}
task_RP6System();
}
return 0;
}

so sollte es funktionieren