Hi All,
Thought you might be interested in this improved I2C library for arduino that I hacked together and tested. Our balloon payload arduinos have been freezing up when the I2C bus gets busy, and when we looked into it, they were getting stuck in while() loops in the Arduino Wire library. These while loops had no timeout, and sometimes the thing they were waiting for wasn't going to ever happen!
I posted the code as complete project on github, and documented it with a nice readme for how to use the modified library. Nicely, all you have to do is change the #include line in your sketch, all the commands are the same!
http://github.com/whitestarballoon/WSWireLib
Thanks,
Dan