From experimentation, the PID appears to be located in the controller.
Also from experimentation - the only way to guarantee the Tetrix controller PID is working is:
1. NXT off, 12v Off
2. 12v On
3. NXT On
4. Start program
It appears that the PID in the controller stops being active whenever the 12V is cycled
It appears that when this happens, the controller does not let the NXT know, and thus the NXT does not re-initialize the PID.
debugging your "situation" is impossible without seeing your actual code...
I have no clue on the I2C bus comm stuff. (sorry)