Guys
I have been using both a normal wired genuine Nunchuk and a wireless version from DealExtreme, and my initialisation and read code values are different to yours.
Maybe these might help.
// initiate Wii Nunchuk
//Serial.print ("Initialising Wii Nunchuk ........");
Wire.beginTransmission(0x52); //0xA4
Wire.send(0xF0);
Wire.send(0x55);
Wire.endTransmission();
//Serial.print (" OK done");
//Serial.print ("\r\n");
delay (100);
//Serial.print ("Set reading address at 0xFA .......");
Wire.beginTransmission(0x52); //0xA4
Wire.send(0xFA);
Wire.endTransmission();
Mark