I found part of the problem: The accelerometer is running at 2.5 V, the PIC is running at 5. I was using a Tiny Logic buffer to do the level shifting. The buffer was a Schmitt trigger type with a 2.2V threshold. The accelerometer output didn't always reach that level and the output didn't toggle reliably. I'm getting data through the buffer now (I raised the accelerometer Vcc to 3V by choosing a different LDO regulator for it). But the data still isn't right. Languer is probably right, and I'll try changing the mode.

I don't know why the PBP manual can't use normal datasheet terms, such as "the data is sampled on the clock rising edge" or something like that instead of the way they describe it!