Sounds like each thing should know how to search for active instances of itself, given a date range, which is a common OO abstraction.
I expect all those bugs to return again and again as different people maintain that code. At least with code deduplication they would have a clear alarm telling them their knowledge is wrong and they must pay attention. But with each query doing everything people will just assume they know it all.
The underlying issue is just that correctness is hard I think.