You should probably test it again using the following configuration:
#define TouchThre 10 //15//30//10
#define ReleaThre 6 //8//25//8
void MPR121_init(void)
{
//Reset MPR121 if not reset correctly
IIC_ByteWrite(0x80,0x63); //Soft reset
IIC_ByteWrite(0x5E,0x00); //Stop mode
//touch pad baseline filter
//rising
IIC_ByteWrite(0x2B,0x01); // MAX HALF DELTA Rising
IIC_ByteWrite(0x2C,0x01); // NOISE HALF DELTA Rising
IIC_ByteWrite(0x2D,0x0E); // NOISE COUNT LIMIT Rising
IIC_ByteWrite(0x2E,0x00); // DELAY LIMIT Rising
//falling
IIC_ByteWrite(0x2F,0x01); // MAX HALF DELTA Falling
IIC_ByteWrite(0x30,0x05); // NOISE HALF DELTA Falling
IIC_ByteWrite(0x31,0x01); // NOISE COUNT LIMIT Falling
IIC_ByteWrite(0x32,0x00); // DELAY LIMIT Falling
//touched
IIC_ByteWrite(0x33,0x00); // Noise half delta touched
IIC_ByteWrite(0x34,0x00); // Noise counts touched
IIC_ByteWrite(0x35,0x00); // Filter delay touched
//Touch pad threshold
IIC_ByteWrite(0x41,TouchThre); // ELE0 TOUCH THRESHOLD
IIC_ByteWrite(0x42,ReleaThre); // ELE0 RELEASE THRESHOLD
IIC_ByteWrite(0x43,TouchThre); // ELE1 TOUCH THRESHOLD
IIC_ByteWrite(0x44,ReleaThre); // ELE1 RELEASE THRESHOLD
IIC_ByteWrite(0x45,TouchThre); // ELE2 TOUCH THRESHOLD
IIC_ByteWrite(0x46,ReleaThre); // ELE2 RELEASE THRESHOLD
//touch /release debounce
IIC_ByteWrite(0x5B,0x00);
// response time = SFI(10) X ESI(8ms) = 80ms
IIC_ByteWrite(0x5D,0x13);
//FFI=18
IIC_ByteWrite(0x5C,0x80);
//Auto configuration
IIC_ByteWrite(0x7B,0x8F);
// charge to 70% of Vdd , high sensitivity
IIC_ByteWrite(0x7D,0xE4);
IIC_ByteWrite(0x7E,0x94);
IIC_ByteWrite(0x7F,0xCD);
//3 electrodes enabled
IIC_ByteWrite(0x5E,0x03);
}
Let me know if you still have problems after this.