Aber dann blinkt er ja (wenn) vor dem abbiegen und nicht während des abbiegens.
Klar, das war ja deine Vorgabe:

blink();
rotate(60, RIGHT, 120, BLOCKING);

Erst wenn das Blinken beendet ist beginnt die Drehung. So wie du im Moment programmierst wird jeder Befehl bis zu seinem Ende ausgeführt und erst dann der nächste Befehl gestartet. Was dir jetzt noch fehlt ist das Task-System des RP6. Grundgerüst für eine Drehung mit gleichzeitigem Blinken wäre etwa so:

Code:
#include "RP6RobotBaseLib.h"

int main (void)
{
	initRobotBase();
	powerON();
	int i;
	DDRC |= (SDA | SCL);
	PORTC |= SDA;
	DDRA |= ADC1;
	PORTA &= ~ADC1;
	startStopwatch1();
	for(i = 0; i < 6; i++)
	{
		PORTC &= ~SCL;
		move(80, FWD, DIST_MM(700), BLOCKING);
		rotate(60, RIGHT, 120, NON_BLOCKING);
		setStopwatch1(0);
		while(!isMovementComplete())
		{
			if(getStopwatch1() >= 200) PORTA |= ADC1;
			if(getStopwatch1() >= 500) { PORTA &= ~ADC1; setStopwatch1(0); }
			task_RP6System();
		}

		if(i==2 || i==5) // :)
		{
			PORTC |= SCL;
			mSleep(2500);
		}
	}
	while(1); // fertig
   return 0;
}
(ungetestet)