The latest versions of Blitz play .mid files OK.
I don't think so. You used to be able to go...
soundtrack=PlayMusic ("whatever.mid") Repeat Until ChannelPlaying(soundtrack)=True While ChannelPlaying(soundtrack)=True ;CODESTUFF Wend
...but that's been effectively broken for ages (and I mean YEARS ages), slowing down program execution to a crawl. If anyone finds otherwise I'd appreciate you posting to correct me.