I gave up, on trying to make midi play without problem:
XAudio2
.mid files
+ Loads midi and pause/play them
mp3's
+load files and pause/play works
+ setting volume works
- there is no way to get music volume level
- that means, no way to find out when a song finished playing and queue next one
Python (pygame)
.mid files
+ volume works
mp3's
+ load files and pause/play works
+ setting volume works
+ you can stop music channel (it doesn't work for XAudio2 - only pause or load new file)
+ checking the music channel if working - works
- can't set start position (i.e. start playback from middle)
- can't queue songs (but you can make your own)
conclusion is basically, don't use midi's, use mp3 and Python for music. I wanted to use midi files, because of their size, now after conversion of all midi's to mp3's my exe file inflated to almost 25MB, compared to 2MB before
Eventually, this whole day try/error procedure had some positive effect. It forced me to start and learn Python a bit.