That sounds strange. A few questions... When you say "If the sequence is made multiple times (even using the same font)", are you using the same font handle or are you calling BASS_MIDI_FontInit again each time? If the latter, does reusing the existing font handle prevent the problem? Conversely, does reopening the soundfont and setting it on the same stream also eventually produce the problem? When the problem is happening, is the BASS_ATTRIB_MIDI_VOICES_ACTIVE value (from BASS_ChannelGetAttribute) stuck on 0?
Is the problem only happening when using BASS_MIDI_StreamCreate, eg. not BASS_MIDI_StreamCreateFile? If you're unsure, please see if you can reproduce it with the MIDITEST example included in the BASS package, ie. keep reloading the MIDI file and/or soundfont (whichever is required to produce it) in that and see if you eventually no longer hear the MIDI file. If the problem does happen, also note if the "loaded" display stays on 0 then.
Also confirm that you're using the latest BASSMIDI version (as well as the latest BASS mentioned).
Regarding the first question, each sequence calls
int newFont = BASSMIDI.BASS_MIDI_FontInit(new BASS.Asset(getAssets(), packName), 0);
sf = new BASSMIDI.BASS_MIDI_FONTEX[1];
where sf is a global variable that will use newFont. Then, the MIDI handler is reused with BASS_MIDI_StreamCreate, sf is streamed to it, and the previous value of BASS_MIDI_FontInit is released with BASS_MIDI_FontFree. So reusing is not solving the issue. I think it is an approach very similar to the example test.
After creating the MIDI stream, BASS_SetConfig(BASS_CONFIG_MIDI_VOICES,15) is setted, but I have not checked BASS_ATTRIB_MIDI_VOICES_ACTIVE vale. I will test it.
I will try the MIDITEST using a loop to watch if it reproduces the issue too in BASS_MIDI_StreamCreateFile.
Yes, the last version of all libaries are being used.
EDIT: If BASS_StreamFree(midiHandler) is called at the start of the sequence, it seems that the issue is solved. Do BASS_MIDI_FontFree() should not no te enough to release the old font and reuse the previous handlers?
EDIT 2: If not using BASS_StreamFree, and forcing the issue to happen, when there is no sound, BASS_ATTRIB_MIDI_VOICES_ACTIVE is always adding a voice when each note event is processed, but the behaviour is not like when working properly, i.e. in a normal way, when a note arrives, BASS_ATTRIB_MIDI_VOICES_ACTIVE adds a value when the note is playing, but decreases 1 unit when the note is off. When the issue is happening, no notes are heard, and BASS_ATTRIB_MIDI_VOICES_ACTIVE always adds (no substraction) and no sound.