Since T83357 an evaluated object can have multiple geometry components (mesh, volume, pointcloud, ...). It seems like the current code implemented an optimization that assumes that an object has exactly one component. It executed drw_batch_cache_validate only for one of the components in a dupli-object, leaving the other components not-validated.
We could probably bring this optimization back with a slightly more sophisticated check, but I don't know how that would look like right now. The safest option seems to be to just remove the optimization. From what I can see drw_batch_cache_validate is quite cheap for duplis in the common case anyway.