В принципе, скетч рабочий, но как-то не так. Прикол вот в чем:
Я сохраняю сообщения в памяти телефона gsm.println("AT+CPMS ='MT'\r" );
При @a1 мне приходит - 0791836027201111040C918360577638660000213022911575 800380700C
Я так понимаю, что текст сообщения это - 00380700?
Но, gsm.read туда не добирается. Он читает с самого начала. Т.е. если я указываю в скетче 07918360 - светодиод нормально включается, после чего, включается AT+CMGD=1 и сообщение успешно удаляется. Каким образом он у тебя доходит до текста сообщения? Сейчас смотрю тему о String (http://arduino.cc/en/Tutorial/StringSubstring) Я где-то там встречал, как из текста выдернуть именно то, что нужно.