I was looking further into the bgm cut off issue the other day, and it's definitely about file size. The bad news is that while it's consistent, the specific size might be firmware/theme/user/etc dependant. Testing all with the exact same theme file, bgm of size 3,190,000 works for me while 3,200,000 gets cut off (but still works properly with no shuffle). This apparently makes my 10.0 n3ds more tolerant than Misledz' who had problems with 3,181,592 (unless that was just a different issue). The number of themes in the shuffle doesn't matter, I was testing with 3 and 6 (I avoided higher since other people have mentioned problems with 7+, though I personally haven't had any).
Sorry I don't have more specific sizes, I lost my notepad list to a power cut oops. It's completely consistent on my n3ds so I can try again if needed (though aiming for such specific file sizes is preeetty slow).
For reference, the normal non-shuffle max size is 3,371,008 according to the conversion tool.
Personally I'd be happy to decide the new max size is 3,100,000 or so but it's annoying that already existing themes aren't compatible.