Fatti
Il ricorrente era, fino alla cancellazione della A. AG dal registro di commercio, presidente del consiglio di amministrazione con facoltà di firma individuale. Il 26 febbraio 2001 fu aperto il fallimento sulla società, che venne chiuso il 14 marzo 2001 per mancanza di attivo. La società fu cancellata d'ufficio dal registro di commercio il 27 luglio 2001. Il ricorrente fu condannato dal Tribunale cantonale di San Gallo il 4 maggio 2004 per omessa tenuta della contabilità (art. 166 CP) e per frode in esecuzione (art. 163 CP) a otto mesi di reclusione, con condizionale e periodo di prova di tre anni. Contestualmente fu disposta l'esecuzione di una precedente condanna a sei settimane di reclusione.
Il ricorrente propose ricorso di diritto pubblico e ricorso di nullità federale, chiedendo l'annullamento della sentenza e la sua assoluzione da tutti i capi di imputazione. La procura cantonale di San Gallo rinunciò a presentare osservazioni e non si espresse in merito al ricorso.
Legge
Il Tribunale federale ha esaminato in primo luogo la legittimità della condanna per omessa tenuta della contabilità (art. 166 CP). Ai sensi dell'art. 166 CP è punito chi viola l'obbligo di tenuta e conservazione regolare dei libri contabili in modo tale che la situazione patrimoniale non risulti o risulti in modo incompleto, qualora sul debitore sia stato aperto il fallimento o sia stato emesso un attestato di perdita. Il giudice di merito ha ritenuto che l'obbligo di conservazione dei libri contabili sussistesse anche dopo la chiusura del fallimento per mancanza di attivo e la cancellazione della società dal registro di commercio e che incombesse al ricorrente.
Il Tribunale federale ha tuttavia precisato che l'art. 166 CP disciplina esclusivamente condotte o omissioni commesse prima o durante il fallimento. La condizione obiettiva di punibilità dell'apertura del fallimento richiede un nesso tra la violazione dell'obbligo e la situazione patrimoniale al momento dell'apertura del fallimento. Una violazione dell'obbligo di conservazione dopo la conclusione del fallimento non rientra nell'ambito di applicazione dell'art. 166 CP, poiché tale fattispecie mira a tutelare le pretese dei creditori nel procedimento fallimentare. L'obbligo di conservazione dopo la cancellazione della società è invece disciplinato dall'art. 747 CO e rientra nell'ambito di applicazione dell'art. 325 CP (tenuta irregolare dei libri contabili).
Il Tribunale federale ha confermato che l'obbligo di conservazione dei libri contabili dopo la cancellazione della società per azioni, ai sensi dell'art. 747 CO,…