Try again to set start date.  The pathological case this time is big gaps either in the middle or at the end of the data.  Change to only store maxDateWithData upon successful completion of the full update, and limit to go back no more than 7 days.  This will not do the right thing in the case that a user was using the app but not on the net for > 7 days, but it's better than forever updating months or years of empty data.