Karaoke file stores time when line is sung and first two letters of that line. If next line starts with assumed 2 letters, it jums to that line. If not, it searches next 5 lines. If it won't find anything then it searches back 3 lines. When there is for example chorus in lyrics file which was not recorded in karaoke files, EvilLyrics should just wait until chorus is finished and it should resume with rest of the lyrics. That way it works with various (of course not all) versions of song. It should ignore carriage returns unless you insert more than 5 at once.
Sure it would be easiest to store lyrics with karaoke files. But as far as I know whole idea of providing lyrics is illegal as it is copyrighted material. All EvilLyrics does is providing easier access to pages that offer this copyrighted material.