If I have maxActive set to 100, does this mean that the size of the pool is limited to 100, so 50 idle + 50 active for example?
That's my understanding of how it works.
Or can I have 100 active connections and 100 idle connections if I so wished, meaning the size could be 200 with maxActive set to 100?
No, maxActive should limit the size of the pool not just "active" connections.
The reason I ask is we have an app with maxActive set to 100 and it stopped handling connections when size reached 100.
This sounds like the expected behavior. Are you expecting to hit the limit, in other words do you legitimately have 100 connections in use?
As a side note, usually the pool will output some helpful logging when you hit a situation like this. You'll see a "PoolExhaustedException" with some additional information. Do you happen to have those log records?
Lastly, have you tried a more recent version of the pool? Can you try the pool that ships with the latest download of Tomcat 7.
http://search.maven.org/#artifactdetails|org.apache.tomcat|tomcat-jdbc|7.0.42|jar