Lo de redibujar ya me lo imaginaba
Guardo toda la información para dibujar en un array y tengo una función que lo dibuja.
Pero poner la función de redibujar en el evento OnPaint carga mucho la memoria.
Me quedo con la solución del TImage.
Gracias por todo