Troubleshooting data issues is really difficult. I've seen bugs related to concurrency (IE User A doing something while User B is doing something), related to order of operations (setting fields in order A causes an issue but order B works as expected), etc. For data loads using the persistent or non-persistent field when you need to use the other, changing the alternate index on the object structure, etc. I know that's not extremely helpful, but I'm not aware of a bug in this area so I can't quite help explain why it's happening.
Can you confirm that the hierarchy entries are 100% identical? IE same system, same location, same parent, and same site, including case (IE all uppercase)? The reason I ask is there should be a unique index on the database (LOCHIERARCHY_NDX1) that would prevent a duplicate entry. If this is in place, that shouldn't be possible. If you're on a case sensitive platform (Oracle/DB2), you may have data that is slightly different format (IE Site1 and SITE1) that would be allowed via the database but Maximo might retrieve as a duplicate. If you're seeing different cases on the data, it's probably a good indicator of how it's occurring.
------------------------------
Steven Shull
IBM
------------------------------