Скорее всего, потому что данный обработчик, а именно
Код:
procedure TForm4.ListView2SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
вызывается 2 раза. Один раз для итема который выделяется, а второй раз - для итема, который теряет выделение. При этом, если использовать ListView1.Selected, то оба раза ты получишь именно выделенный итем.