I think you problem is that first you give the DI instructions which turns ints off.
In the scroller you call #fd9f which jumps to the FST routine. FST replayer probably uses the instruction EI at the end (which is typical STUPID, but hey we're talking FAC software here eh

)
So what happens: The ints are enabled again and imediatly the ISR jumps AGAIN to #FD9F. Hence the dubble replayer call (resulting in dubble speed playback)
Now when you remove the #FD9F call from your scroller the INTS are never enabled again and FD9F will not be called again. (resulting in no music at all)
The solution is to remove the FD9F call and use DI and EI together whenever you write VDP regs.
e.g.
..
DI
out (vdp),reg
out (vdp),reg
etc.
EI
..
And to improve your source code it like this:
start:
call scrollroutine
call interrupt 'polling for int.
jr start