I wasn't suggesting it can't be done, I just wanted to make the point that sometimes a line ending will be the last thing in the text.
A fix for this won't solve the problem of the memo flickering when it is updated. It seems to me that this is happening because it has to be updated in two stages. First the new text is set, and the control displays it starting with the first line. Then I have to set the caret position to the end, so that the last character entered is in view. If the length of the text is greater than can fit in the visible area, it scrolls, and this causes the flickering.
LCL components don't seem to have the BeginUpdate / EndUpdate methods suggested earlier in this thread. There is BeginUpdateBounds and EndUpdateBounds but I don't know what they do, and when I tried them anyway they didn't deem to do anything.