The problem that you described, isn't specific to your configuration of ArcGIS Server 10 and SDE 9.3.1.
This happens irrespective of the version level of SDE and Arcgiserver. You will find that if you have a large number of instances for your service, that creates an equivalent number of connection. If you have many services, you'll have to increase the max number of connections from 64 to some appropriate value.
Further more, by default the server will maintain an exclusive schema lock on the dataset unless you go and manually edit the cfg file. Querying also has some issues that must be tackled by the SDE administrator.
I am beginning to get convinced that in many cases, especially when data is not updated very often, using File Geodatabases gives better performance than using an SDE geodatabase with arcgis server.