Purtroppo (o per fortuna ) non ho Office 2010 quindi posso solo andare per ipotesi anche perché cercando in rete non ho trovato nessuno che lamenti differenze fra le due versioni quindi non ho nulla su cui lavorare.

Comunque un paio di prove possiamo farle.

La prima cosa che mi viene da pensare è che la OnTime di chiusura della Visualizza non riesca a trovare il timer da killare perché nel frattempo Now è cambiato e quindi Now + TimeValue("00:00:01") ha un valore diverso da quello che aveva quando il timer è partito.
In realtà mi sto arrampicando sugli specchi perché, visto che la Visualizza parte ogni secondo, qualunque sia il Now qualcosa di attivo in quel momento ci sarà di sicuro, però, chissà, magari excel 2010 utilizza un Now con una precisione maggiore e questo porta problemi di arrotondamenti quindi tanto vale provare ad assegnare il valore Now + TimeValue("00:00:01") ad una variabile e poi usare quella sia nel loop che nel kill.

codice:
Dim dTime
Private Sub Countdown()
   ThisWorkbook.Sheets(1).[c2] = TimeValue("00:10:00")
   Visualizza
End Sub
Private Sub Visualizza()
   Dim TempoRimanente As Date
   TempoRimanente = ThisWorkbook.Sheets(1).[c2]
   ThisWorkbook.Sheets(1).[c2] = TempoRimanente - TimeValue("00:00:01")
   dTime = Now + TimeValue("00:00:01")
   Application.OnTime dTime, "Visualizza"
End Sub
Private Sub Chiudi()
   Application.DisplayAlerts = False
   ThisWorkbook.Save
   If Application.Workbooks.Count = 1 Then
      Application.Quit
   Else
      Application.OnTime dTime, "Visualizza", , False
      ThisWorkbook.Close
   End If
End Sub

La nuova variabile come vedi è la dTime che viene calcolata in un solo punto e poi utilizzata sia per attivare che per killare il timer.

L'unica altra prova che mi viene in mente è di provare a passare i paramentri alla OnTime indicandone esplicitamente i nomi, chissà mai ...

codice:
Dim dTime
Private Sub Countdown()
   ThisWorkbook.Sheets(1).[c2] = TimeValue("00:10:00")
   Visualizza
End Sub
Private Sub Visualizza()
   Dim TempoRimanente As Date
   TempoRimanente = ThisWorkbook.Sheets(1).[c2]
   ThisWorkbook.Sheets(1).[c2] = TempoRimanente - TimeValue("00:00:01")
   dTime = Now + TimeValue("00:00:01")
   Application.OnTime EarliestTime:=dTime, Procedure:="Visualizza"
End Sub
Private Sub Chiudi()
   Application.DisplayAlerts = False
   ThisWorkbook.Save
   If Application.Workbooks.Count = 1 Then
      Application.Quit
   Else
      Application.OnTime EarliestTime:=dTime, Procedure:="Visualizza", Schedule:=False
      ThisWorkbook.Close
   End If
End Sub

Per ora non mi viene in mente nient'altro, fammi sapere come va.