Ciao, ho dato giusto uno sguardo veloce. Pare che tu vada in qualche modo ad eliminare quegli elementi. Infatti stanno dentro il div "spese_id_col", e in diversi punti della funzione c'è una riga simile:
codice:
document.getElementById('spese_id_col').innerHTML = spese2 + ' €';
Chiaramente questo va a sovrascrivere tutto il contenuto del div in questione, eliminando quindi gli elementi hidden.





PS: Un consiglio. Il tuo script è largamente ridondante. Potrebbe essere ottimizzato usando opportunamente qualche variabile. Ad esempio per "memorizzare" momentaneamente dei dati, anziché usare dei campi hidden. O anche per creare degli alias dei vari elementi, anziché usare ripetutamente getElementById.