Открих проблема... Тони имаше добро предложение (но дерегистрирането на драйвера означаваше, че когато приложението се презареди, драйверът вече не е наличен!).
В нашия случай ние случайно включихме ojdbc6.jar с нашето уеб приложение И в директорията Tomcat/lib. Предполага се, че това е накарало Tomcat да използва нашия зареждащ клас за създаване на обекти. По този начин, когато нашето приложение се разтоварваше, DBCP пулът на Tomcat все още имаше отворени манипулатори за класове в нашето приложение.
Премахването на ojdbc6.jar от нашия WEB-INF/lib реши проблема.