Instrument mismatch with General MIDI output

I’d like to export GM files from MusicStudio so that I can take them with me and play later with any GM synth as needed (of course no audio tracks, just midi).
However I noticed that several Music Studio instruments are not properly matched when connecting an external general MIDI synth or exporting a MIDI file for playback with any GM device.
I own a Roland general MIDI synth that performs correctly when driven by a midi sequencer playing general midi music files. But this is not the case when I use it connected to the iPad for playing projects composed inside Music Studio instead of using MS internal sound engine.
For instance: in the demo song “Demo - Mischief (Sterling Maffe)”, track 1 “Flutes Staccato” or tracks 5 and 9 “Orchestral Strings Staccato” are played as a piano instrument by both my external synth and software MIDI sequencing apps like GarageBand, Rondo, MidiTrail… (I exported the song as a MIDI file for testing how it is played by other midi sequencers).
So basically the issue affects both midi output and midi file export in some way and I didn’t understand when I can expect a MS internal instrument to be preserved in playback with a general midi device and when not (also project’s track volumes and effects like reverb seem to be not preserved after midi export and import into other sequencers).
I think I’m missing something in the general understanding of this specific aspect of MS, but I was not able to find deeper information so I try asking.
(ps: I also tested the contrary by loading a standard GM song into MS, then sending from MS to my synth and in this case everything works fine as expected. So it seems the issue just affects tracks created in MS from scratch.)

You’re right, the two orchestral instruments that you mentioned don’t have a MIDI mapping in Music Studio. It was implemented this way in order to provide the best possible mapping on MIDI import, where the GM Flute should be mapped to the most generic sounding flute in Music Studio.
To improve this, we’ll have to implement separate mappings for MIDI import and export. We’ll keep that in mind as a possible future improvement, thanks for bringing this to our attention!

(ps: I also tested the contrary by loading a standard GM song into MS, then sending from MS to my synth and in this case everything works fine as expected. So it seems the issue just affects tracks created in MS from scratch.)

No, it really just depends on the instrument. After importing a GM song, Music Studio selects instruments that will perfectly map to GM instruments, also at export.

Thanks for your clarifications, so it looks like at the moment the only way to be sure to have MS projects played correctly in external GM devices is checking how instruments are mapped after importing in an external general midi sequencer and change mismatched instruments (if any).
(ps: does Cubasis behave differently from MS in this specific aspect?)

Cubasis has a better MIDI mapping on export, but I don’t know if it’s perfect for every instrument. However, in Cubasis it’s possible to manually draw a program change event in the MIDI editor at the beginning of each track. When you enable MIDI output for all tracks and tap Play, the program change MIDI messages of your choice would be sent out to the MIDI channels (tracks) of your choice.

Why is it not possible to save program changes commands?

Saving program changes is a feature that’s been on the list of possible future Music Studio updates in the old forum. We just haven’t gotten around to implementing it yet.