Need to read up to 43 bytes of data, reading incorrectly.

Instead of two Arduinos communicating via SPI or I2C or waving semaphore flags, you could just use a Mega with its 4 hardware serial ports.