Thanks! I'll keep an eye on it as best I can :)
A common approach for this kind of thing is to install an interrupt that just increments a volatile timekeeping variable at a certain rate. Your main program can then just check that variable in a loop to see if enough time has passed, then do any updates or blitting you need. This way you also don't need to keep installing new interrupt handlers and can just keep all the animation logic as part of the normal program flow.