I've modified the code somewhat so HasEmptyLines gives a reference to what is finds:
It will return the (zero based) index of the empty line it finds in the result and will display the preceding, offending and next line.
<EOList> means that the found empty line is the last line in the list.
DelEmptyLinesMax elapsed time(ms): 5618
DelEmptyLinesBart elapsed time(ms): 4439
DelEmptyLinesThaddy elapsed time(ms): 85 (failure "") @160252, ["xunlT3c7O9DYwtfl", "", "<EOList>"]
DelEmptyLinesWinny elapsed time(ms): 10714
DelEmptyLinesJamie elapsed time(ms): 53 (failure "") @160254, ["e_D 6IJglfY1F6xs", "", ""]
DelEmptyLinesEgsuh elapsed time(ms): 229
I could not test Avk's method because of missing units.
I also write the resulting stringlist to a file and I can indeed see empty lines in the result of Jamies method.
Bart