Die gerade genannte Lösung ist natürlich die tollste, einfachste und sicherste, aber trotzdem weiß man ja, was für ein doofes Gefühl ein Problem zurücklassen kann, das nicht genau so gelöst wurde, wie man es sich in seinen Dickschädel gesetzt hat. ^^ Und vielleicht kann man ja die Antwort auf die eigentliche Frage auch mal in einem anderen Zusammenhang brauchen:

Die Cursorposition kann über SelStart angesprochen werden. Ein einfaches Edit1.SelStart := Length(Edit1.Text); nach deinem Code wirkt also schon Wunder.
Möchte man nun auch noch bedenken, dass der Nutzer ja überall Eingaben machen kann, nicht nur am Ende, kann man auch vorher in eine Variable den Wert von Edit1.SelStart packen und nach dem Großschreiben diesen Wert zuweisen.

So, jetzt hast du zwei tolle Lösungsmöglichkeien für dein Problem. Viel Spaß damit. =)