Hi all!
Gyros are tricky beasties - that is certainly for sure, but since the little accelerometers and gyros are becoming ubiquitous, I've notice a trend towards the digital serial-enabled gyros - here's one on Sparkfun
http://www.sparkfun.com/commerce/pro...oducts_id=8372
It is worth noting that though 300 degrees/sec seems like a lot, a second is actually quite long, and 300 degrees is less than one rotation - if you're doing 1 rev/s, you'll max out the range on most low-cost gyros.
As for drift, the previous posts are quite accurate - the amount of drift depends heavily on the sensor, the environment, and the algorithm. Many sensors you'll find today are temperature-compensated, which will help with environmental issues, but hard shocks and sudden rotation will confuse them fairly easily - they're more used to smooth motion, which FIRST robots aren't used to performing. That being said, if you feel like some clever programming, there are filters out there that can get ridiculously accurate - the Kalman filter, for example, is a state-space recursive estimation algorithm that, if properly tuned, can give very accurate readings from a gyro. It takes some fairly high-level math, though, so unless you've got time or someone who has done one, keep looking.
As for compasses (or magnetometers), I've had some luck with the Honeywell sensors - the particular model I've used isn't sold anymore - but they are designed to operate on extremely weak magnetic fields, and placing it anywhere close to a motor or ferrous metal will make it nearly inoperable. In short, it can be done, it just requires either clever programming or isolation.
Good luck!
Sparks