La fonction de Serial.flush() a changé depuis le passage à la version 1.0. Maintenant flush() attend que la file d'émission soit vide (comprendre complètement émise).
Pour vider la file de réception, il faut se faire sa propre fonction.
du genre
while(Serial.available()){Serial.Read()}