Not receiving all datapoints from accelerometer using SPI

According to the datasheet you have to first address your register and then pulse it in.

So Reading register DATAX3 would look like this:

  digitalWrite(CS, LOW);
  SPI.transfer(DATAX3);
  values[0] = SPI.transfer();
  digitalWrite(CS, HIGH);

But you can eliminate the delay() calls, they are not necessary.