I didn't seen any mention of this on the forum so I figured I would point it for posterity (not that anyone else is still using 2012).
The CustomPropertyManager Set method (2012 API) does not return the values in the documentation:
From my own observation:
- 0 if the value for the existing custom property is set
- 0 if the value for the existing custom property is not set
- 0 if the custom property does not exist
I have just been using Add2 preemptively and Set if it returns -1. Although I haven't compared the actual return values of Add2 against the documentation.