Der er ingen hurtigste måde, da det afhænger af en række faktorer. Sørg for, at indekserne i SQL er konfigureret og optimeret. Masser af indekser vil dræbe insert/opdateringsydelsen, da hver indsættelse skal opdatere indekset. Sørg for kun at oprette én forbindelse til databasen, og lad være med at åbne/lukke den under operationen. Kør opdateringen, når serveren er under minimal belastning. Den eneste anden metode, du ikke har prøvet, er at bruge et ADO Command-objekt og udstede en direkte INSERT-sætning. Når du bruger 'AddNew'-metoden for recordset-objektet, skal du sørge for kun at udstede én 'UpdateBatch'-kommando i slutningen af indsættelserne. Kort derudover kan VBA'en kun køre så hurtigt, som SQL-serveren accepterer inputs.
EDIT:Det ser ud til, at du har prøvet alt. Der er også det, der er kendt som 'Bulk-Logged' gendannelsestilstand i SQL Server, som reducerer omkostningerne ved at skrive så meget til transaktionsloggen. Måske noget der er værd at kigge nærmere på. Det kan være besværligt, da det kræver at rode lidt med databasegendannelsesmodellen, men det kan være nyttigt for dig.