I2C resets Ardunio (Master-Slave Dual 328P)

Well.. multi-master communication like you described should work.
Your error was somewhere else in the code and you fixed it by accident when changing the way you send/request data.