Виртуальные ListView прорисовываются до двух раз(каждая ячейка). Возможно у Борланда это число может быть выше. Могу посоветовать обеспечить быстрый доступ к текущему элементу, типа сохранить в переменной класса и пока не сменится индекс использовать ее.