As I suspected, the header file just defines the addresses but not the commands. You can build the read command from the addresses using this line:
uint8_t cmd = (address << 1) | 0x01;
SPI transactions on the Due? Am I not doing that?
No, that would look like this:
SPISettings settings(4000000, MSBFIRST, SPI_MODE0);
digitalWrite(CS, LOW);
SPI.beginTransaction(settings);
SPI.transfer(0x01);
SPI.endTransaction();
digitalWrite(CS, HIGH);