I am not used to the blitter, so I do not understand if there is something strange going on.
But, I agree with @phx, the solution looks more dangerous to me. If it gets another higher priority interrupt between starting the blitter and acknowledging the interrupt, it could miss the blitter ready interrupt.
Also why do you post increment
(a0)+
when the next thing that happens is to restore
a0
from the stack?