Pin Change Interrupt on PB3. Am I doing something daft?

ISR(PCINT0_vect) {
 
  //Increment the volatile long val by 1...
  cli();
  val++;
  sei();

}

Interrupts are already disabled during an ISR call.

#define rxpin PB3

What value does PB3 have? Does setting that pin number to an INPUT pin make sense?

Which Arduino are you doing this on?