Interupts

I just made a similar reply in another thread: when you do something like this line of code:

MCUCR |= (0<<ISC00); // should set a falling slope for int0 = arduino pin 2

You are not really doing anything at all. Doing a bitwise OR with zero does not change the value of MCUCR. I suspect what you meant was to ensure that the given bit was turned off. In that case, what you really need is:

MCUCR &= ~(1<<ISC00); // should set a falling slope for int0 = arduino pin 2

Just thought I would point this out, because I keep seeing this in code posted here. What you had might be working correctly simply because the given bit was already zero.