Serial Communication - How to read large bytes of data

I suspect this line will not compile

  if( (msgNr ==0) || (printDone == true) && (k<10) ) {

I am always wary of complex IF statements - especially mixing and and or

I can't get away from the feeling that yours is a problem of thinking rather than programming. I'm still not at all clear how the relationship between your Arduino and the other device should be managed.

I don't know if you have said what is the device that is sending the data. Post a link to its datasheet or user manual where the interface is defined.

...R