А что значит для Вас “долгая прорисовка”?
Кстати, посмотрел Ваш проект – не установлен DoubleBuffered в True. Видел, что в свойствах формы он установлен в True, но дело в том, что
по каким-то причинам AC отключает его при старте программы. То есть, нужно ручками прописывать, например, в OnCreate.
И еще…На самом деле я не стал бы так организовывать интерфейс программы. Куча компонентов.
На Вашем месте я сделал бы виртуальный ListView и все рисовал бы в нем. Было бы все прерасно в таком варианте)