Irgendetwas kann einfach nicht stimmen. Im gesammten Programm gibt es keine einzige Anweisung, die den Roboter rückwärts fahren lässt (das kann man auch in der tmp_preprozessor.c sehen, kein robot.motors mit zwei negativen Zahlen). Wenn du das Programm fehlerfrei kopiert und auf den Roboter übertragen hast, kann ich in keinster Weise nachvollziehen woher das kommen soll. Bleibt nur noch irgendwelche Softwarespezialitäten von denen man als Außenstehender nichts ahnen kann oder ein Hardwaredefekt.
Leider kann ich dir hier nicht mehr weiterhelfen :(