Teensy 3.0 (TeensyDuino) + L3G4200D === "574" reading? Why? How to fix?
I figured it out.

The problem was in the 32bit vs 16bit architecture of the Teensy vs Arduino boards. In a 32 bit environment, an int is 32 bits. In a 16bit environment, an int is 16 bits. At least, that's what I'm seeing in Teensy (32bit) vs Arduino (16bit). This makes a difference in the bit shifting / 2's complement calculation done for the X, Y, and Z values. 

When I change the data types from int x, y, z; to short x, y, z; in my Teensy sketch, it gives me the correct reading for the values.