The main problem with Midi is that you can't be sure whether the user has a soundbank installed. If a sound bank is not installed, then depending on the platform, you either get no sound, or a fail-over to using any hardware MIDI support on the machine (PC). While you can supply and load your own sound bank, there were some bugs associated with that. I vaguely remember it didn't work correctly on the PC.
Most of these issues should be a thing of the past now that Gervill is available in Java 7 / OpenJDK.
See
here and
here.
Midi files are small and fast, which is what I would prefer.
By the time you've included a decent soundbank, MIDI files are neither small or fast! ReBirth mentions princec's comments on MIDI recently - I defended the potential of Gervill for live uses (eg. music / SFX that changes in response to user interaction / game states). If you just want to play a file - don't use MIDI! If you have some particular files you want to use, pre-render them to MP3, OGG, etc.