If you want a view of overdue tasks which have not been completed, you do not need the start date. You need the current date, and the Target Completion Date. If current date > Target Completion Date, the task goes on the list.
Not sure why you're referring to End Date (Actual End Date). Once there's an Actual End Date, that means the task is done - it was done on that Actual End Date, so it's not overdue anymore.
If you want to see a list of tasks which are overdue and not completed, AND ALSO a list of tasks which have completed, but completed past their targeted date, you need to understand the following: The Targeted Date would be what's called a 'Baseline Finish Date'. This is your originally expected Finish date, against which you compare current progress of incomplete tasks, AND against which you compare completed tasks.
For current, incomplete tasks, the task is 'slipping', 'late', 'overdue', if the current date > target date.
For completed tasks, the task came in late if the Actual Finish Date > Target Date.
In MS Project, there are actually 3 finish dates for every task: Baseline Finish (targeted finish date), Finish (currently expected finish date, based on current reality), and Actual Finish (when it was actually finished). (Once a task is done, the Finish and Actual Finish are the same, but the Actual Finish can be compared against the Baseline to see if it came in late).
Clear as mud? :)
To create your view, using the variance between the current date and target date (incomplete tasks), or actual finish date and target date (completed tasks), see the date calculations posted in other questions... but now you should be clear on which fields to track, and which fields to use in the calculations.