¿Puedes poner el código que no te daba pulsaciones fantasma, aunque perdiera grabaciones, y el que te está haciendo pulsaciones fantasma? Lo digo, porque igual partimos de supuestos de código diferentes.
Por otra parte, reitero. ¿Has intentado quitar el detach/attach en el loop?