I am getting this JSON return on a Delete that reads:
"message": "Unable to complete operation.",
"Another application is currently editing the version. [sde.DEFAULT]"
Although, it seems to remove the item from the data base. But, the point will still show in the feature layer. Sorta... It will show, then it will disappear. Then later it seems to show again. However, if you look at the table, the record is removed. When it shows, you can click the point and get the attributes for it as if it is there though.
I didn't find an outright solution, but I changed how I was working with the map and it works now.
What I wanted was for a user to be able to add a point to a map and (if they wanted to move the point) they could click a different spot and the point would appear to move: it would add the new point to the new spot and then remove the previous point they added. This worked fine the first couple of points the user clicked, but then I would start getting the above error. I changed my strategy to just working directly on the map and not calling applyEdits with each click. Then when the user finishes with the point they want, they click a save button.
Not a solution, put probably a better implementation for my particular case. The feature class backing my service was registered as versioned, so I don't know why it seemed to be having trouble with multiple edits...
If it could help someone, Esri support answered about my problem which was this 400 error after applyEdits.
The (perfectible) solution was to limit to limit the maximum number of instance at 1 as parameter when the service is published. If you have more instances an applyEdits request will be sent to the AGS Server, and if the server is a bit overload, it will start a new instance. Your request will be processed by the new instance. Then, AGS will process that like if it's a new user (a different one) so it will lock the version while the other instance is working on edition. That was why I was unable to complete edition.
I'm not sure f it's really clear, but I hope it helps.
I had a similar problem and here are the steps I took to resolve it.
When sharing the service, under Pooling I tried setting "maximum number of instances per machine" = 1 but that did not work. I tried exporting to XML Workspace and File Geodatabase and then re-importing but that did not work.
So I did this:
Export to Shapefile Delete OBJECTID keep Repairing Geometry until no errors remain Import into SDE Rename fields and aliases that were corrupted during export to shape file. Reset Domains on Fields Register as versioned Create MXD Share as service and under Pooling set "maximum number of instances per machine" = 1