We have a custom lookup on Case object to the Opportunity object. On this field, the related list label is named 'Cases'. We added the related list Cases to the Opportunity page layout.
The user (even system admin) is able to view the case record. Navigate to the Opportunity record via the custom lookup - all fine. When the user looks at the related list, they see Cases .
This happens only for a few records and any new records that we create works properly. We even related the same Opportunity record to multiple Cases, and only the new cases we related them to showed up in the related list.
The biggest problem is, we're not able to replicate this issue (its only for some existing records) AND its surely not a sharing issue because (i) the user is able to see the case detail page (ii) this happens even for the System Admin.