This happens with GlobalID fields (GUID), which are used by programmers and in database replication. Assuming one side of your join has a GUID field, you may need to make a copy of the feature class without this field.
I would call this problem a bug; a join should be able to ignore GUID fields.