Hm, mal überlegen:

GIMSK &= ~(1 << PCIE);

entspricht meiner Meinung nach nun

GIMSK = ~( GIMSK & (1 << PCIE) );

und nicht

GIMSK = GIMSK & ( ~(1 << PCIE) );

Ok, jetzt erklär mir noch mal wie du das meinst, erst kommt das NOT und dann das AND.