I don't know if there is something wrong with your interrupt number, but in my case I declare the interrupt like this :
pinMode(myPin, INPUT_PULLUP);
attachPinChangeInterrupt(digitalPinToPinChangeInterrupt(myPin), myInterruptFunction, CHANGE);
So same code works on 328p or 1284p.
Don't forget to declare the pinMode since declaring interrupt won't declare the pin as an input.
Why do you declare your FLAG at 0x03 ? it uses 2 bits and could be in conflict if you use 0x01 or 0x02 for other buttons, you should use 0x01, 0x02, 0x04 or 0b001, 0b010, 0b100... something with exclusive bits