>For each hit, we do from 10 to 20 SQL commands on average. So, I cannot use this approach. This is why I open the connection at the BeginRequest() method and close it in EndRequest().
Wait ... I thought you said you weren't closing the Connection? Do you mean that this is what you've changed your code to, so that now you *do* close the connection?