Well it took me some time to figure out this 'pop' business :).
If you want to correct your stack, one idea is to use the faster addq.l #4,sp instead of move.l (sp)+,pop. But from what I see in your code you just want to execute one subroutine and then exit the bullet set-up code entirely. So, you could replace the jsr with a jmp and forget popping the stack at all. Then when your code hits the 'rts' it'll jump out of the caller subroutine entirely!