I too am interested in such a venture, though I am primarily familiar with C/C++ programming (which, honestly, I reccommend for any serious development); I know little of Delphi -- (isn't it Pascal with a windows API?)
Anyhoo, I believe the playback algorithm is something to the effect:
while (have more events)
while (current event's time <= current time and event has't already been played)
Send Midi Message ( Note on, what note, velocity)
Increment current event index
end (while current event's...)
end (while have more events)
Of course, you'd have to check also for notes which need to be shut off, which'd take some sort of polyphony stack to remember what notes are on and when they should go off...
I assume you have some sort of documentation/helpfile about the Delphi windows api; look & see if you can find about "midioutmsg" or "midioutlong[msg]" and low level audio programming.