We have tests that show setting custom and built in document properties works okay.
Please note that CustomDocumentProperties[name] returns null if the property is not in the document. I guess the null could have been returned in your case, followed by access to .Value which threw a null reference exception which could have been caught and silenced in one of your exception handlers and that’s why the document was not saved and the property was not updated.
You need to check if the property is not there, use CustomDocumentProperties.Add.
This is fixed in Aspose.Word 2.5 that will be released in the next 1-2 days.
The problem was only for the first custom property in a document that did not have any custom properties before (it was using an OLE2 reserved property ID).
Also, check your code, accessing because
doc.CustomDocumentProperties["DocumentID"]
does not automatically add a property if its not there, you need to check if its null and add it.