Try splitting these up, I don't know if you can do it as 1 burst like that.
// bring 'SS' pin low
digitalWrite (SS,LOW);
//transfer SPI data to chip/device
SPI.transfer (DECODE_MODE);
SPI.transfer (0x00); // 0x00 - no-decode mode
digitalWrite (SS, HIGH);
digitalWrite (SS,LOW);
SPI.transfer (INTENSITY_ADDRESS);
SPI.transfer (0x0F); // 0x0F - max on/brightness
digitalWrite (SS, HIGH);
digitalWrite (SS,LOW);
SPI.transfer (SCANLIMIT_ADDRESS);
SPI.transfer (0x07); // 0xFF or 0x07? 0x07 - all display digits on
digitalWrite (SS, HIGH);
digitalWrite (SS,LOW);
SPI.transfer (SHUTDOWN_ADDRESS);
SPI.transfer (0x01); // 0x01 - normal operation mode
digitalWrite (SS, HIGH);
digitalWrite (SS,LOW);
SPI.transfer(DISPLAYTEST_ADDRESS);
SPI.transfer(0x00); // 0x00 - normal operation mode
//bring 'SS' pin high
digitalWrite (SS, HIGH);
}
and rearrange here to get rid of the delay between address & data
for (int x = 0; x < 8; x=x+1){
Serial.println("");
Serial.println("REGISTER ADDRESS");
Serial.println(registerAddress[x]);
Serial.println("");
Serial.println("REGISTER DATA");
Serial.println(registerData[x]);
Serial.println("");
digitalWrite (SS,LOW);
SPI.transfer (registerAddress[x]); // register to write to
SPI.transfer (registerData[x]); // and value
digitalWrite (SS, HIGH);
}