Si, perché dopo aver testato le varie funzionalità, nel file di log degli errori di PHP non ho trovato alcuna segnalazione. I problemi invece sono arrivati dalla nuova versione di MySQL che, senza segnalare alcuna anomalia, ha cominciato a troncare gli importi inseriti (campi decimal) perché dalla versione 5.0 non viene più usato il byte del segno di tali campi per aumentare il range dei valori possibili.
A dire il vero MySQL segnala dei warning ma PHP non li intercetta e quindi passa tutto inosservato. Per evitare questo comportamento di MySQL è possibile impostare l'SQL Mode a TRADITIONAL, in modo che al posto dei warning si ottengano dei messaggi di errore e la query venga bloccata.
Questa soluzione però non è applicabile se si usano le tabelle MyISAM perché, non supportando le transazioni, si rischia di effettuare una serie di query di inserimento e update senza avere la certezza che andranno in porto tutte o nessuna. Se ad esempio l'applicativo per completare una operazione richiede un inserimento ed un update, se questo update viene abortito perché i dati che aggiornano sono troppo lunghi per il campo a cui fanno riferimento, ci si ritroverebbe solo con il record inserito dalla prima query. La base di dati si sporcherebbe in breve tempo.
La soluzione che ho adottato quindi è stata un'altra: registrare nel log degli errori anche i warning generati da MySQL. Per recuperarli, dopo ogni INSERT o UPDATE, ho effettuato la query "SHOW WARNINGS". In questo modo nel giro di pochi giorni di utilizzo dell'applicativo, ho identificato e corretto tutte le query a rischio troncamento.