Вот что у меня есть в коде, и он работает как на Windows, так и на Mac:
Percent := 100 * AWorkCount div ContentLength;
frmDownloadProgress.ProgressBar1.Value := Percent;
Application.ProcessMessages;
Application.ProcessMessages
- это ключ для обновления индикатора выполнения, если компонент TIdHTTP находится в главном потоке.