I am not really sure about what you are trying to archive...
shouldn't the "between" comparison be:
i.dob >= StartDate && i.dob <= EndDate
The way you are doing it you search for entries where the dateofbirth is smaller/equal than the StartDate and greater/equal then the EndDate, so it is actually not between both dates.
Sorry if I misunderstood the question.
cheers