Ciao, personalmente non vedo il problema che segnali. Lo script NON salta dentro l'ultima condizione, a meno che le varie condizioni non risultino vere.

ci salta direttamente dentro!
Almeno secondo firebug.
Mi viene da pensare che tu sia tratto in inganno dal fatto che su firebug, mentre stai eseguendo il debug step by step, sia evidenziata in giallo (e col triangolino) la riga dentro l'ultima condizione.
Il fatto è che quella riga viene evidenziata perché è l'ultima riga che viene "esaminata" per quello specifico stack. Questo non significa che tale riga venga eseguita, ma soltanto che il quel momento lo stato di avanzamento dello script si trova in quel determinato punto in fondo alla riga.

Dal momento che tutto lo script per quello stack (in poche parole, lo script all'interno di quella funzione) è stato esaminato, ecco che lo stato di avanzamento si posiziona alla fine della funzione (cioè in fondo all'ultima riga di script "potenzialmente" eseguibile) prima di uscire dalla funzione stessa. Questo viene semplicemente segnalato all'utente mostrando, appunto, la riga evidenziata.
In sostanza ti sta dicendo: "Oh, guarda che ho finito di eseguire tutta la roba dentro questa funzione. Se tu non te ne fossi accorto, ora sto aspettando in fondo alla funzione, dopo l'ultima riga del tuo script. Nel prossimo step, esco dalla funzione!"