Mhh. Se posso consigliarti una cosa, la valutazione dell'user agent non è molto efficente. Ovviamente poi ognuno fa come gli pare, ma io userei un:

codice:
if(document.styleSheets) {
   if(document.styleSheets[0].rules) stile = document.styleSheets[0].rules;
   if(document.styleSheets[0].cssRules) stile = document.styleSheets[0].cssRules;
}
Che è ugualmente efficiente e non tagli fuori altri browser.
Poi un altro consiglio è quello di installare Firebug, che in questi casi è quasi indispensabile (a meno che uno non abbia niente da fare e voglia passare la giornata a chiudere alert). La prova del nove è che grazie a lui pure essendo le 4 di notte mi sono messo a debuggare il tuo codice

Chiudiamo i consigli che fanno innervosire tutti e andiamo al punto:
come era prevedibile l'errore è dato per il semplice fatto che non becchi la regola giusta al #79 (se non sbaglio) . Infatti essendo priva del font size restituisce una stringa vuota, che diventa un bel NaN quando provi ad aggiungerci 2 e infine un bel "NaNpx". Tutti i browser danno errore e sorvolano, mentre ad IE, che è tanto suscettibile solo quando deve dare fastidio (cioè sempre), questa cosa non gli va giù.

Tra l'altro perchè usare una cosa del genere quando puoi benissimo ciclarli tutti e alzare tutti i fontSize: ##px di due unità senza usare roba astrusa?

codice:
function aumenta() {
  if(ok){
    for (var i = 0; i < stile.length; i++){
      var match = /(\d+)px/.exec(stile[i].style.fontSize);
      if (match) {
        size = parseInt(match[1], 10) + 2;
        if (size < 40) 
          stile[i].style.fontSize = size + 'px';
        else
          stile[i].style.fontSize = '40px';
      }
    }
  }
}
Usando questa funzione tutti i font-size: ##px si alzeranno di due unità, quelle che invece vuoi che rimangano fisse puoi metterli in em, o pt. Certo non è il massimo come cosa, sei costretto ad usare due unità di misura diverse... ma sicuramente è meglio di prima. Altre soluzioni meriterebbero uno studio più accurato.



Altrimenti se vuoi lasciare tutto come sta togli 79 e mettici 81: tadah! (ma te le sei contate tutte a mano? complimenti per la pazienza!)
Magicamente tutto funzionerà. Finchè non sposterai una virgola nel foglio di stile, allora potrai postare un altro topic

PS. Stanotte sono in vena di pignolerie:

codice:
if (dimFont > 40)  dimFont = 40; 
  else  stile[stili[i]].style.fontSize = dimFont + 'px';
Questa istruzione è logicamente superflua. dimFont dopo essere assegnato non verrà utilizzato. Certo questo non ti crea nessun problema, ma dà la possibilità ai rompipalle come me di bacchettarti e metterti faccine tipo questa:

EDIT: anche l'80 è una regola sbagliata (dà là il secondo errore).