RonW, I came across your query while searching for other issues with the ADXL345.
Some four years ago I discovered the ADXL345 is terrifically sensitive to ringing on its SDO line when configured for 4-wire SPI. Like you, I could not get device ID to report correctly via SPI. But when I inserted a 27-ohm resistor on the SDO line between the part and my SPI controller everything worked fine. My design uses a 33-ohm resistor. I don't think it is sensitive to the exact value.
The part also demands serious power filtering -- the data sheet is not kidding about the significant decoupling requirements -- and a good quiet ground. From a hardware perspective it's the most finicky part I've ever integrated. But it's been working fine in the application since these issues were nailed down.