Hi,
First of all, please note that the FXOS8700CQ is EOL and not recommended for new designs.
Based on description, the first thing I would recommend to try is to toggle the CS_B pin between low and high to latch data during SPI communication. Grounding the CS_B pin directly may not work.
Next, as I am not familiar with STM MCUs, I cannot check your SPI initialization. Please double check that it matches the FXOS8700 requirements:
Clock Polarity (CPOL): 0 (idle low)
Clock Phase (CPHA): 0 (data captured on the leading edge of the clock)
Your read a register seems to be correct.
Do you have a logic analyzer or an oscilloscope to see what is going on the bus?
BRs, Tomas