RE: automatic release of sales order - work created quantity = 0
it sounds like you're either releasing "All" sales lines, instead of "Physically reserved" as Danny365 is recommending, OR your sales lines are all reserved physical, but then when location directives are called, you don't have inventory in a pickable locate, and the "Stop work on location directive failure" for Sales Orders is enabled.
If it's the latter situation, you're not really going to stop this from happening, the system is doing what you configured it to do.
Your options are to review load lines that have work created qty <> load line qty OR enable the work to create with a blank locate, and review all that WORK before you let someone start picking it.