Rozgryzłem problem... Toni miał dobrą sugestię (ale wyrejestrowanie sterownika oznaczało, że po ponownym załadowaniu aplikacji sterownik nie był już dostępny!).
W naszym przypadku przypadkowo dołączyliśmy ojdbc6.jar do naszej aplikacji internetowej ORAZ w katalogu Tomcat/lib. To prawdopodobnie spowodowało, że Tomcat użył naszego programu ładującego klasy do tworzenia obiektów. Tak więc, gdy nasza aplikacja była rozładowywana, pula DBCP Tomcata nadal miała otwarte uchwyty do klas w naszej aplikacji.
Usunięcie ojdbc6.jar z naszego WEB-INF/lib rozwiązało problem.