Код:
r[i].Top := r[i].Top + I*100;
если n = 100. Я бы для тестов поставил бы n = 24. Это раз.
Два. вообще, компонент олбычно создается по координатам 0,0. Поэтому "танцевать" от начальной позиции компонента бессмысленно.
Лучше сделать так:
Здесь первое значение I = 0, если оно = 1, то (I-1) * 24.
тогда первый компонент будет по высоте на 8 пикселах, второй - на 32, третий на 56 и т.д.