From our engineer team:
InstanceHashCode is not really stable, it is just a hash code. It will only really be stable for the lifetime of the .NET object. You should only really use it for things such as inserting the object into a dictionary, etc…
The InstanceGuid is a better stable ID. Some files might not contain GUIDs though (it depends on the source of the file), although they might contain some other form of stable ID (such as Element ID or Entity Handle). And for some formats, it’s almost impossible to work out a stable ID in the first place.
Hope this helps.
Developer Technical Services
Autodesk Developer Network