Das liegt daran das Du die
task_checkINT0();
task_I2CTWI();

dort nicht regelmäßig aufrufst. Dort wird geprüft ob sich was verändert hat.

Ist genauso wie auf der RP6Base - da muss nur stattdessen die task_RP6System(); ständig aufgerufen werden.

Das muss in jede für längere Zeit blockierende while Schleife o.ä. rein.

MfG,
SlyD