Gente. Eu consegui corrigir o meu problema, eu vou postar a resposta aqui por motivos de consulta futura, caso alguem necessite.
Os ultimos sintomas que eu estava tendo estavam relacionados a comunicacao serial via bluetooth. Eu troquei o fio que eu estava usando para o TX e RX, que era um flat cable em duas vias paralelas, 26 AWG, por um par trançado, desses de cabo de rede. Eu acho que a propria comunicacao estava causando ruidos que o arduino tentava interpretar e o Serial.available() dava sempre um valor maior que Zero.
Para auxiliar eu coloquei o fio por dentro de um tubo de ferrite. Nao sei se vai ajudar, mas colquei mesmo assim..
Agora o bicho esta rodando liso...
Obrigado pela ajuda pessoal!