Per the API docs, the ModelName property of the IEntity interface returns the Parasolid model name applied to the entity. If you haven't assigned a Parasolid name, the property will be empty.
I believe that the only way to uniquely identify selectable entities is by using Persistent Reference IDs.
Take a look at this discussion: How to attach Attribute to a Face
You can pre-assign tracking ids to entities before getting the material so you can track them later.
You can also assign the name to the entity: 2013 SOLIDWORKS Help - Named Entities and later retrieve it 2012 SOLIDWORKS API Help - GetEntityName Method (IModelDoc2)
Thanks. That sounds like a good option. For now, I am just setting a face id and using that.