I had to look it up as well to make sure, but you mixed up the ID and the persistent ID. I've checked the help file below to find out what the ID is, apparently the ID is a pair of integers or longs. I've only seen the persistent ID as a 20-integer long object. The persistent ID should be persistent
What I do is to get an object is either :
- Manually selecting, then getting them
- Programmatically selecting, then getting them
- Creating a feature and then using the return object. Use GetPersistReference3 on the object.
I agree on the big picture help. There's nothing official to be found how to create addins or other best practices. I've found the books by Luke Malpass from 2008 and 2009 to be very helpful still:
GetPersistReference3() works great. The lookup GetObjectByPersistReference3() even tells me what got deleted. Great!