Back on this project after moving house....
After writing some automated testing scripts it seems that dropping into the MIDI file stream and just playing works about 90% of the time, those other 10% give a guru meditation full reset, not good.
One way to get this success rate up to 100% could be that I parse each MIDI file when first loaded and note all the valid offsets (eg 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134......) Then when i jump back to the middle of the track i make sure I land at the nearest valid offset point...