After some further digging, here's something that doesn't make sense, and could be something to do with your problem.
Both midi files are in fact the same here, so if they behave differently it's due to something else.
As already noted, all the notes are on channel 5. There are no other notes, on any other channel.
Percussion would normally be on channel 10. You COULD put it on another channel, but channel 10 is the usual place for general compatibility, and most machines, when set to system defaults, would have percussion set to channel 10. I'd expect that GM2 would follow this convention.
In both midi files, there is no Program/Instrument set for Channel 10, which ties up with this being for percussion, and for the default percussion set. There are, of course, no notes set for channel 10!
Channel 5, where the notes are, shows Instrument settings as Bank Select MSB is 78 (hex) 120 (decimal), LSB as zero (i.e. I assume not relevant), and Program Change 31 (hex) 49 (decimal). BUT, that bank number is actually selecting 'Ethnic' drum set, and that bank does nothing selecting for a regular instrument. If you ARE trying to select Ethnic Percussion set on Channel 5, then you need the MSB value as 120 (decimal, which it is) followed by a LSB of zero then a Program Change of 50 (decimal).
So, maybe you've tried to set the percussion as channel 5, and it's not quite right. It may or may not work, depending on how the keyboard defaults are set.
NB - when dealing with the literal numbers, watch out. Often tables/charts show the real (?) number, i.e. 1 to 128, but the midi file shows the code number which is always one less, i.e. 0 to 127. Depending on software, etc, these can get mixed up. So, regarding the channel 5 example above, where one place 49 (decimal) is used, and in another place 50 is used - should these be the same?
Geoff