Zuerst muss ich mal gestehen, dass ich in meiner Ausführung einen Fehler gemacht habe:
alles, was unterhalb des Rectangle-Statement steht, müsste eigentlich mit 
ImgStr.Canvas. beginnen, da sie in einer Prozedur stehen, wo die 
Canvas als Parameter übergeben wird, dort habe die 
Canvas einfach 
ImgStr genannt - das war wohl nicht so gut. Diese Prozedur wird auch für Exports nach JPG, TIF, usw. verwendet.
Das mit dem 
Refresh erscheint mir klar, aber was ist mit dem 
OnPaint? Vom Formular?
Vielleicht sollte ich auch noch erwähnen, dass die zu ladende Datei im selben Programm vom Benutzer im üblichen Windows-Dateiauswahlmenü ausgewählt wird. Das geht so
		                    
            
                        Delphi-Quelltext                    
           	 															1: 2: 3: 4: 5:
  				 | 									if OpenDialog1.Execute then begin    {$ Ermitteln des gesamten Dateipfades }   {$ Laden der Grafik }   {$ Anzeigen der Grafik } end;					 				 | 			
		
	  
So weit ist es ereignisgesteuert.
Wie passt nun 
OnPaint hier rein? Und welches 
OnPaint?
Dann verstehe ich noch nicht, was dies mit der stark vergrößerten Datenmenge zu tun hat.
Bei "normalgroßen" Dateien mit bis zu 1,3 Mio. Punkten hat es immer noch funktioniert.
Moderiert von 
Th69: Delphi-Tags hinzugefügt