Just guessing, but I think it might be the jdbc driver. Does it claim to work with the db clustered? Does it get new connections from the failover machine successfully?
I'd write a little test and see...
I wouldn't claim it to be a solution, but it might help slightly to set a short idle timeout in the pool.
I've seen the i-net software JDBC driver for SQL Server supports clustered databases. I'm going to test that today.
W/r/t your comments - is there a reference for all the different parameters that can be set in the Pool mbean?