[SOLUCIONADO] Problema con bucles entre Python y Arduino

Tras varios dias sin recibir respuesta (ojo, no lo digo quejándome! Al contrario, eso me ha impulsado a investigar todavía más árduamente), he descubierto el fallo...

El fallo residía en la llamada a Serial.flush(), el cual dejó de funcionar a partir de 1.0, y eso corrompía las siguientes lecturas de Serial recibidas por el programa en Python...

Dejo los códigos de nuevo, pero actualizados, por si alguien quiere repetir el proyecto!
(yo de momento lo usaré como base para el siguiente proyecto que quiero, un avisador remoto)

Codigo Arduino:

//Avisador GMail
//Original por Zunayed Ali
//Retocado por arduleo

int outPin = 13; //Ponemos el pin 13 como salida
int mail = LOW; //Creamos una variable int llamada "mail" con el valor inicial LOW, ya que no queremos falsos positivos
int val;


void setup()
{
  pinMode(outPin, OUTPUT); //Seleccionamos el pin13 (outPin) como salida
  Serial.begin(9600); //Iniciamos la comunicacion serial
}
 
void loop()
{
  if (Serial.available()) //En caso de que exista comunicacion Serial
  {
    val = Serial.read(); //La variable val tomará el valor de la lectura recibida por Serial
    Serial.println(val); //Imprimirá en consola (enviará al Arduino) el valor de val
    if (val == 'M') mail = HIGH; //Si el valor recibido (val) es 'M', la variable mail sera HIGH
    else if (val == 'N') mail = LOW; //Si el valor recibido (val) es 'N', la variable mail sera LOW
  }
 
  digitalWrite(outPin, mail); //Escribimos la informacion de mail (HIGH en caso de que haya, LOW en caso de que no) en el pin 13

  
}

Y aqui el codigo de Python (necesarias las librerias pySerial y feedparser)

#Codigo original creado por Zunayed Ali
#deyanuz.com
#Gmail notifier

 
#feedparser module download it from http://www.feedparser.org/
# pySerial module also needed
import serial, feedparser, time
 
#Seleccionamos nuestro puerto Serial (CAMBIAR VALOR DE SERIALPORT AL QUE CORRESPONDA)
SERIALPORT = 0
 
#Abrimos la comunicacion serial
ser = serial.Serial(SERIALPORT, 9600)
 
loop = 1
prevCheck = 0
 
while loop > 0:
	#Seleccionamos el xml que tomaremos como base (REEMPLAZAR LAS MAYUSCULAS POR LOS DATOS CORRESPONDIENTES)
	d = feedparser.parse('https://TUDIRECCIONDEGMAIL:TUPASSDEGMAIL@mail.google.com/mail/feed/atom')
 
	#Obtenemos el titulo del xml (Nuestra bandeja de entrada de GMail)
	print d.feed.title
 
	newMail = len(d['entries']) #Creamos la variable newMail
 
	#Asignamos un delay, para que compruebe cada X segundos la bandeja de entrada
	time.sleep(10) 
 
        #Si hay nuevos correos
	if newMail > 0:
    		#Enviamos por comunicacion serial el valor 'M' e imprimimos en la consola de Python "Tienes correo nuevo"
       		ser.write('M')
       		print "Tienes correo nuevo"
        #Si no hay correos nuevos
	else:
                        #Mandamos el valor 'N' por comunicacion serial e imprimimos en la consola de Python "No tienes correo nuevo"
			ser.write('N')
			print "No tienes correo nuevo"

Adjunto un zip con ambos archivos y las librerias de python necesarias:
http://arduleo90.site50.net/ARCHIVOS%20PARA%20DESCARGA%20PUBLICA/GMail_notifier.zip

Espero que a alguien le pueda resultar útil!