SynEdit does currently not store line endings.
But, if you retrieve the text, it will add a line ending to each line. So if Lines.Count=1 (with one empty line) then you get a line-ending back in the Text.
As for the "how to test", good question.
Maybe
(Lines.Count=0) or ( (Lines.Count=1) and (Lines[0]='') )
Not great, but...