L3G4200D random spikes
Because you're observing a similar problem with your magnetometer my guess is that you have a problem on the I2C bus. While it could well be a code problem because of the intermittent operation first I'd check how the bus is connected. A few things to check / try:


If you're not using external pull-up resistors try 10K pull-up resistors on SDA and SCL. The internal pull-up on most microcontrollers won't be strong enough.
If possible reduce the length of bus as much as possible and try to keep it routed away from high-speed signals. 
If using a breadboard try to keep the connections as direct as possible to avoid excess capacitance.
If you're using prototype boards that already include pull-up resistors they may be ending up in parallel and you may in effect have a pull-up resistance value that is too low.
If you can arrange access to a scope that would be ideal to make sure the clock and data lines look nice and square and aren't skewed too much.


If those steps don't work Texas Instruments has the Troubleshooting I2C Bus Protocol application report that goes into more detail on calculating the pull-up resistors and problems you can run into with capacitance.