That's because, for some reason, GM uses its own Midi player, which seems to differ even in executables between computers. I hate it...most of the MIDIs I make end up sounding like crap too, so I end up having to export to wav or mp3 if I don't wanna sit for hours tailoring the song to GM's pickyness.
MP3's and WAV's will sound the same on all machines because they're a set sound, like a recording. Midis rely on the computer's synthesizers, which differ from machine to machine. Which is stupid but a sad and hard fact for gamers...