Hi,
What do you trig INT0 with? If it's a pushbutton you may have contact bounce that makes the interrupt fire multiple times. The 10mS pause in the ISR provides some debounce but perhaps it's not enough.

Also, I don't see
Code:
@   INT_ENABLE   INT0_INT     ; enable external (INT) interrupts
anywhere. I see that you "manually" enable the INT0 interrupt but try using the provided macro, to begin with at least.

/Henrik.