Determining whether to use a potential field as a key value should be determined not by whether the field is a key, but by whether it has been updated (through whatever means, be it PeopleCode, a Fill query, etc) since the field was first allocated.