We have managed to solve our issue. For anyone experiencing the same issue, as described above, the problem is that there is a bug in the iPlanet mod_jk connector (v1.2.22), which amongst other things, does not reuse existing connections, instead it creates new connections for each request.
The solution is to obtain a more up-to-date driver (v1.2.32 at time of writing), which fixes this issue, and others, making the connector not only much more robust, but also increases throughput by more than 4 times!
The updated driver can be found on the Tomcat site.
For users who are not using Windows or Netware, you will need to build you own driver, which depending on the level of your C knowledge, may be a little tricky, as we had to modify the source several times to add missing headers.
Hopefully, this will help somebody out there!