Mit
TListBox.TopIndex
lässt sich lt.
OH die erste in der Listbox sichtbare Zeile bestimmen und setzen. Also erst den TopIndex abspeichern, dann mit Selected einen neuen Eintrag anwählen und abschließend auf den gemerkten TopIndex zurückspringen. Hab's nicht ausprobiert, möglicherweise zappelt die Listbox dabei sichtbar herum.
Grüße, till