I don't have an answer, but I can point you in the direction I would take myself.
A MIDI file's format is pretty well standardized and documented. Wikipedia does not give a link to it, but I remember finding it on the net a good 10 years ago (before even Google was born!), so I don't expect you'll have problems in locating it today.
The format is "chunked", which means that the Karaoke information is most likely stored in a special kind of chunk. The rest is reverse-engineering. Take a karaoke file (.kar, as I understand, is a .mid with lyrics chunks), discard the known chunks and you'll soon find the lyrics chunks. The information in there should not be too hard to decypher.
Added: Also, it is said that KMid supports them, so its source code could shed some light.