Also konkrete Hilfe kann ich nicht geben, aber...
Schau mal (wenn Du das irgendwie erkennen kannst), wie oft das Control sich zeichnet. Wenn Du z.B. einem Panel die aktuelle Breite nochmal zuweist, zeichnet es sich (und die Umgebung ebenfalls) nochmal neu.
Wenn das Wiederholt-Neuzeichnen in einem Control gekapselt wäre ist dem vielleicht schlecht beizukommen.
Aber vielleicht kannst Du mit Ersetzen von
MyChart.Widht := 100
durch
Delphi-Quellcode:
if MyChart.Widht <> 100 then
MyChart.Widht := 100
oder mit ähnlichen Maßnahmen schon etwas erreichen.
Ansonsten wäre es vielleicht möglich, das Chart in einem Thread ein Bitmap erzeugen zu lassen und wenn das fertig ist, dieses in´s Formular zu kopieren. Ist natürlich umständlich und ggf. schwierig, aber vielleicht als Notlösung machbar.