[solved] ATTiny85 if statement failing mysteriously

NbTopsFan needs to be declared volatile, since it's modified in an ISR but accessed outside of one, otherwise accesses to it could be optimized away.

Edit: AAH! You're using delay with interrupts globally disabled! Delay relies on the timekeeping interrupt firing in the background to count the time; without it, delay() will hang...

Your code would be more readable if you did ctl+T in the IDE. Putting multiple statements on the same line is bad practice, as it makes it harder to spot mistakes.