using both serial and newsoftserial

That makes sense then.

My hunch is that when the interrupt routine fires, the UART itself is prone to the interruption, and thus the missing data.