Bueno, tras muchísimos dolores de cabeza, ya está localizado el error. Se debe a un bug de Tomcat 4 que ya está solucionado en la versión 5. Más información aquí:
http://issues.apache.org/bugzilla/show_bug.cgi?id=9016 .
No explican exactamente el origen del problema, pero al menos ya sé que no hay manera de solventarlo.
Espero que le sea de ayuda a algún otro que se encuentre con un problema semejante.