FYI, I looked at the file in question... The first frame starts 528 bytes after the "official" end of the ID3v2 tag (when seeking from the start using the tag's length field). If the decoder just skips the tag and doesn't properly validate sync headers, it will sync with some spurious data that "looks like" a Stereo Layer I frame @ 384kbps and 48khz.
That said, if the sync is checked against the following, the spurious data will be properly skipped:
- Frame Sync (11 set bits)
- MPEG Version != reserved (01)
- Layer != reserved (00)
- Bitrate != invalid (1111)
- Sample Rate != reserved (11)
- Channel Mode Extension == 00 - or - Channel Mode == Joint Stereo
I believe the channel mode extension check is what is lacking...