Hi BattleBot,
vom Arduino-Sketch habe ich keine Ahnung. Sieht aber erstmal gut aus. Wenn delay(50) bedeutet, dass in 50ms Abstand gesendet wird, dann würde ich das mal auf delay(1000) einstellen.

1. Beim RP6-Slave must du NACH dem Register speichern (also nach: x_arduino = I2CTWI_writeRegisters[0]; ) noch Reg. 0 wieder löschen:
I2CTWI_writeRegisters[0] = 0;

2. Die Pausen (zweimal mSleep(150); ) müssen aus der Hauptschleife raus (Der Master bestimmt sowieso die Frequenz der Sendungen über den I2C-Bus).

3. Die Anzeige (writeString("x_arduino = ") usw.) muss in die if(I2CTWI_writeRegisters[0] && !I2CTWI_writeBusy) Klammer mit rein.