В Delphi 2010 TRichEdit имеет свойство ActiveLineNo. Не уверен, существует ли он в Delphi 2009.
Ручной способ получения номера строки состоит в том, чтобы отправить Memo сообщение EM_LINEFROMCHAR со значением WParam, равным -1, то есть:
LineNo := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, -1, 0);
Или:
LineNo := Memo1.Perform(EM_LINEFROMCHAR, -1, 0);