Klar ist sogar die bessere Idee das so rum zu machen Bild  
Du hast auch recht der Asuro kann keine zwei Sachen gleichzeitig machen. Du musst das alles nacheinander machen.
Du nimmst dann einfach das Standart Linienfolgenprogramm und machst da eine If-Abfrage rein. Also falls der Schalter für die Kollisionsabfrage gedrückt wird soll er rückwärts fahren. Wenn nicht soll er weiter der Linie folgen.
Also müsstest du eigentlich nur diese Zeilen:

if(PollSwitch()!=0)
{StatusLED(RED);

MotorDir(RWD,RWD);
MotorSpeed(120,120);
for (i=0;i<280;i++){Sleep(255);}
MotorSpeed(0,0);
MotorDir(FWD,FWD);
MotorSpeed (0,120);
for (i=0;i<280;i++){Sleep(255);}
MotorSpeed(0,0);
}

in das Linienfolgenprogramm reinschreiben. Das müsste eigentlich funktionieren.....