missing records can occur if not on your end something is wrong with your solution if the index is damaged.
so first be 100% sure that you don't have cascading deletes evoked through the graph or otherwise delete records on the wrong context happening not expected etc ..
do you have any daily or hourly backups you can go back and compare?
How do i figure out whether or not the index is damaged?
How would I know if i had cascading deletes evoked through the graph?
I do have daily backups that i could compare.
If you entered September 2016 and all the records were there it would appear rhat the related records were there all the time. If September 2016 is in a field in a parent table perhaps it's a question of a parent record being deleted without cascading deletes enabled.
go to your relationship graph and check if "delete records in this table .." is checked
check if any TO of the missing records has this checked.
also check if any script with Go to related Records script step uses deletion afterwards - if that script step fails you might be on the wrong TO though the incorrect context and result can become missing records.
check any possibility of scripted or user interacted deletion.
the index can repaired with the recovery tool - there is a lot to search for regarding this topic.
Are you sure you're doing commits in all scripts where you're adding or editing data? I would check that too.