understanding attachinterrupt in a pulse counter

Thanks. I kind of understand, but when I write out what's happening, I get stuck at the end, so let's start at the loop:

loop (let's assume a change in state detected while in IF part of loop, so millis has just ticked over to 100...)

if
100 - 0 >= 100 (YES, go ahead - it looped 1000s of times before millis got up to 100 ms)

then add interval to lastRead ( 0 + 100 = 100, new val of lastRead )

stop interrupt while counting

put val of count in copyCount ( 0, at the moment)

start interrupt ability again

lets assume encoder ticks.... as it would if motor spinning at 230 rps (6 v)... the programme interrupts and ISR
isrCount is called: integer count is increased by +1 then loop starts again:

100.01 - 100 >= 100 (NO, so don't go into IF loop.... assume it tool 10 micro sec to get through the programme loop)

So if the IF loop doesn't run how does the ISR function get to be called and so add more pulses to the count integer ??