Wenn du Edit.Text einen Wert zuweißt, wird nunmal unweigerlich der Cursor von Windows an den Anfang gesetzt.
Delphi-Quellcode:
VirtKeyBoardEdit.SetFocus;
VirtKeyboardEdit.SelStart := -1;
VirtKeyboardEdit.SelText := 'a'; // 'a' hinten dranhängen
VirtKeyboardEdit.SelStart := -1;
Der einzige Weg, wo der Cursor nicht erst nach vorne springt, wäre nur die Selection zu ändern.