Here is a more clear example of what's happening..

09f7e0 ffffffff ffffffff ffffffff 0000000c
09f7f0 0000040c 00000000 00000000 00000000
09f800 00000000 00000000 00000000 00000000
*
09fbf0 00000000 00000000 ffffffff ffffffff
09fc00 ffffffff ffffffff ffffffff ffffffff
*
09fff0 ffffffff ffffffff 0009f7f0 4d494e41
0a0000

In this example, the actual animation consisted of two frames, the first being completely '00' and the second filled completely with 'ff'.

The error here is that the tail offset value, 0009f7f0, is off by 4, it should be 0009f7ec instead. This explains (1) the lower-right garbage when played, and (2) the absence of the first frame when played.

Cheers