However it in not being called correctly and the initEditingError method is being called.
err outputs the following to the console error = undefined, more information here would be helpful layer all of the layer attributes, can't see anything wrong here success = true which implies according to esri help the layer was added successfully.
Any ideas why will it not call initEditing. The service appears to be setup correctly and I have reworked my javascript to come at this from various angles.
The behavior of dojo.connect changes depending on how many arguments are provided. By providing four args, you're causing your 3rd argument to be treated as a JS context for the 4th argument.
In this case, I recommend using three arguments to dojo.connect and check for success or failure of loading your layers looking at result.success to see if your layer was loading successfully or not.