Yeah, that's the code I've been using. When I run it as-is, the magnetometer values look like they are working at first glance, but then I realized that what is displaying is the old data in the buffer, and the magnetometer is not actually sending anything. The magnetometer output displayed exactly matches the accelerometer data because they share the buffer.
I also can't read the WIA register which should return 0x48. I just get zero.