Try spinning the gyro randomly for 30 seconds and see if it still ends up at the same value after 30 seconds. If so you have a bad cable/connection/chip/SW setup.
If that works the way you expect it to its probably a calibration issue. Remember, your integration is only as good as the error you can hold with original signal.
We've never had any issues with the gyro driver and calibration routine found on
www.kevin.org/frc . I suggest you try this if all else fails.