Hallo GuaAck,
und Danke, dass Du Dir die Mühe bemacht hast.
Du hast mit Delhi 7 getestet und ich mit D2010: in beiden Fällen funktioniert alles problemlos.
Mittlerweile muss ich sagen: mit XE8 funktioniert es überhaupt nicht, egal welches Windows oder Office.
Die im Speicher zurückbleibenden Excel-Instanzen sind aber offensichtlich "frei", wie folgende Beobachtung zeigt.
Öffnet man den Explorer mit aktivierter Detailansicht und klickt auf ein XLS-File, so wird eine Excel-Instanz vom Explorer gestartet, um die Dateivorschau zu erstellen.
Mit Schliessen des Explorerfensters verschwindet auch die Instanz.
Nun das Interessante: 
liegt noch eine meiner hängengebliebenen Instanzen im Speicher, so generiert der Explorer keine neue Excel-Instanz, sondern verwendet meine.
Und noch besser:
Wird der Explorer nun wieder geschlossen, verschwindet auch meine Hängeinstanz.
Die Befehlskette
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 
 | RangeMatrix := Unassigned;MySheet := Unassigned;
 XLApp.Workbooks[1].Close(False);
 XLApp.Quit;
 XLAPP := Unassigned;
 | 
		
	  
reicht also nicht, um den Speicher zu bereinigen.
Unter .NET gibt es Aufrufe der GarbageCollection, die dies erledigen.
Aber bei Delphi/XE8 ?
Gruß,
JVS