Вся отрисовка выполняется в отдельном потоке (известный как UI Thread), из других потоков рисовать в нем запрещено. При попытке это сделать, вы получите исключение. На андроиде оно несет название "ALOOPER_POLL_ERROR". На других платформах будет немного другой текст ошибки. Чтобы отрисовка происходила в главном потоке (UI Thread) нужно добавить синхронизацию потоков через
TThread.Synchronize
или
TThread.Queen
Однако, в этом случае ваш поток будет ожидать момент отрисовки в главном потоке и в момент отрисовки простаивать. В итоге вы получите то, от чего пытаетесь убежать.
В вашем случае, медленная скорость анимации может зависеть от больших картинок в TTabControl. Так же она может зависеть от сложной иерархии объектов на форме.