Issue with TinyWireM only recieving one byte

Hey guys

I am working on a project that sounds similar to what you're facing. I have multiple Attinys (mixture of 85s and 2313s) all talking with a mixture of Atmegas (328p, 1280, etc).
One thing I found with the Attinys, if you are wanting both master and slave capabilities is you have to do one at a time, switching between them. You start them all as slaves, then if they need to send data, shutdown the slave, go to master, send whatever, then go back to slave.

Something like this:

void setup() {
    TinyWireS.begin(attinyAddress);
}

void loop() {
    if (TinyWireS.available) {
        byte command = TinyWireS.read();
        switch (command) {
            case WHATEVER: {
                // reset the I2C pins
                pinMode(0, INPUT);
                pinMode(2, INPUT);
                TinyWireM.begin();
                TinyWireM.beginTransmission(AtmegaAddress);
                TinyWireM.write(stuff);
                TinyWireM.endTransmisison();
                // reset the I2C pins
                pinMode(0, INPUT);
                pinMode(2, INPUT);
                TinyWireS.begin(attinyAddress);
            }
        }
    }
}

This is just a snippit of code that I have been using successfully.

Hope that helps somebody.