>I'd say that the users are viewing a customer record (and therefore a connection to the remote SQL source) more than 90% of the time that the application is open - it's very much a call-centre environment in that something is always happening within the application. There are currently 40 users, the SQL server is found locally on the same 100/1000mbit network.
Then this is a clear case when you need to keep an app level permanent connection. Which actually works for your resource worry - the time and network traffic required to establish a connection is not trivial, so it makes sense to keep it at minimum.