I have posted my external for reading midi files here:
http://puredata.info/Members/martinrp
There is code and a compiled dll for windoze as well as a shell script to compile it for lignux, and a help patch. Should work on OSX too with slight changes (define _BIG_ENDIAN for ppc).
Midifile reads type 0 and 1 SMF (.mid) files and may work on type 2; it should ignore any non-standard meta codes. Please let me know how you got it to crash ;) Write functionality may be forthcoming in a few weeks...
Martin