AniIndicator1.enabled := true; AniIndicator1.Visible := true; как с этим работать?
Смею предположить, что с MainThread'ом в делфи ничего кардинального сделать не могли. Когда вы делаете его видимым, в очередь ставится сообщение о том, что его надо сделать видимым. Доходит до этого очередь только на следующем шаге Looper'a. Шаг не произойдёт, пока вы не сделали всё, что хотели в текущем шаге. Ну а к тому времени, как дело дошло до этого, вы уже скрываете. 
Короче, мораль сей басни - ничего долгого не делайте в MainThread. Включили прогресс - запустили асинхронную задачу - по её окончанию скрыли прогресс.
Нужно в конце каждого цикла перерисовывать объект.
.Repaint или .Redraw или .Update ну в общем что-то из этого....