SPI without Pin 10

This is gonna read half the data on you
while (Serial.read() != '#')
so this part will only see like every other byte
masterMessage[msgLength] = Serial.read();

Instead, try something like
while (done !=true){
do the 2nd part, masterMessage[msgLength] = Serial.read();

and then test
if (masterMessage[msgLength] == "#"){done = true;}
else {msgLength=msgLength++;}

Something like that.