Hola creus, no entiendo muy bien. Es normal que te guarde la posición utilizada o dicho de otra manera, el elemento seleccionado si estás haciendo esto:
Código Delphi
[-]Listbox2.Items.Strings[listbox2.Itemindex]:=Listbox1.Items.Strings[listbox1.itemindex];
Lo que no entiendo es esto:
Código Delphi
[-]Listbox1.Items.Strings[listbox1.itemindex]:='';
¿Por qué lo haces? Estás borrando el texto del elemento seleccionado.
Lo que no pones, es como traspasas de un listbox a otro, y es posible que allí esté el fallo.
Saludos