I'm currently struggling to connect two Arduino boards with each other over I2C. I have already established a functioning connection between to boards however as soon as I introduce sensors, which are also using I2C, to the mix the code stops working or the onRequest events lead to unexpected results. The sensors I am using include the BMP100, L3D20 and LSM303DCHC which are pressure, gyro and accelerometer sensors respectively. They are all manufactured by Adafruit. Is there a method in which I can connect all of these over I2C without them interfering with each other?
The I2C bus uses one master and several slaves. If you defined one Arduino as the master and the other as the slave and all sensors as slaves too you should be OK. The problem often arises when people want to make an Arduino master as well as slave. Many configuration like your's define one Arduino as the master controller and the other Arduino as the slave to master controller but as the master for all sensors (so this Arduino reads all sensors and the master controller reads that Arduino). This setup won't work because the Wire library included in the Arduino IDE don't support multi-master setups on the I2C bus (in most situations multi-master setups don't work reliably anyway, so don't look for an I2C library that may support that special mode).
If your setup looks like the one I described above, connect the two Arduinos with another interface (UART or SPI) and you're fine.