Midi playback in Java uses software synthesis, which requires a soundbank. The soundbank is included in Java SDK, and in your case it is located in
c:\j2sdk1.4.0\jre\lib\audio\soundbank.gm
However, to cut down the size of Windows version of JRE, Sun decided not to include the soundbank in Windows JRE (although it is included in Linux and Solaris version). Without a soundbank, JRE cannot perform software synthesis and JRE performs hardware synthesis using your sound card. In hardware synthesis, the sounds are different when using different sound cards and the timing can be poor.
So the only solution to your problem is that the people who only have the JRE version have to install a soundbank. Soundbanks can be downloaded from here:
http://java.sun.com/products/java-media/sound/soundbanks.html