Capito il problema... Toni ha dato un buon suggerimento (ma annullare la registrazione del driver significava che quando l'app si ricaricava il driver non era più disponibile!).
Nel nostro caso abbiamo incluso accidentalmente ojdbc6.jar con la nostra app Web E nella directory Tomcat/lib. Ciò ha fatto sì che Tomcat utilizzasse il nostro classloader per creare oggetti. Pertanto, quando la nostra applicazione veniva scaricata, il pool DBCP di Tomcat aveva ancora handle aperti per le classi nella nostra applicazione.
La rimozione di ojdbc6.jar dal nostro WEB-INF/lib ha risolto il problema.