I am assuming you've resolved this, but for the sake of the thread:
my understanding is that your services won't re-create a lock unless they are actively being used (such as a map pan action right after you disconnect user/release the lock). The only way to avoid that is to stop the service.
I learned recently though that feature classes in the same dataset all get locked even if the lock is actually only on one layer. For this reason, you will want to avoid using feature datasets unless you have a specific need (like managing a geospatial network dataset).
If your feature layers are stand-alone (not in a dataset), then you could disconnect all the users in Admin so that new locks are only created on the layers that are being actively queried. You'll have to stop the service to prevent those new locks on active services.
If someone knows better, I'm glad to hear also.
I just have a process that stops all services while I am doing my updates. I actively use feature datasets to organize my data. Whats funny is that Esri did the same thing when they created the Local Government Information Model which I used to create my setup. If my feature classes were all standalone, I'd never be able to find anything. I have no idea how many feature classes I have in my geodatabase but I'm guessing its pushing 100 or at least several dozen.
Is there any reason not to set it to disable schema locks? Maybe a silly question but if it's as simple as disabling schema lock as an option, why can't that the default? Not seeing the new fields until republishing does't seem like a downside, I would take the tradeoff, it can be hard to track down all the services using a feature class. In fact , there should be a button I can click to show all the services using a feature class. (Not users, but services, since that's what actually drives it, that should be possible)
by the way Kory Kramer I have read through these threads. There really needs to be a button I can click, to show exactly what services (all of them) are using a feature class in SDE. So I can then know which ones to stop. Not a long thing I have to do in python, do not have time for that. I have lots, lots of services and layers and databases.
Natalie thank you, good example and good cautionary info to know.
Now, how about if it is for read-only... would there be any reason why not to disable them in this case?