I'll sometimes use start dates as reminders for when I need to begin working on something. Occasionally I will set a due date as a milestone but then treat it as a hard due date to avoid having to roll it forward. As soon as you get into the habit of setting due dates and not meeting them, the system begins to crumble.

Adding priorities is helpful to me. I use priorities to tell me when I WANT to get something done (3=Today, 2=Week, 1=Month, 0=Quarter). The Importance of items will climb when the actual due date of the project approaches and stuff that needs to be done sooner (higher priority) is higher all along. Not perfect but it works. All tasks might have due staggered back a day per stage (accounts for cramming, lol). The real due date is added to my calendar app.

This is a very good question. This is where GTD starts merging with real project management.

You are actually thinking of a gantt chart, in which tasks have predecessors and successors. When creating a project schedule, or a gantt chart, you need to estimate durations for tasks and how they relate to each other. If you have a hard-landscape milestone or project completion date, you work your schedule back from that date.

This is a bit beyond the scope of GTD. GTD basically worries about the "next action" and assumes you'll keep assigning "next actions" as you complete the current ones.

I tend to quickly estimate how long this or that task will take and assign due dates for them. In a way, when you do that, they are not really soft due dates as you described them. They are actually "hard" due dates, since if you don't complete them in that sequence and in that time-frame, your project will fail.

As David Allen explains it, you should do the thinking up front, so you can get the issue out of your mind.

My take on this is that the weekly review is critical. You have your project and in that project you have all the tasks that need to get done. Some are actions and some aren't. It is your weekly review that makes sure you are driving towards deliverables. What I get out of GTD is that putting start dates and due dates on SNAs is not what tells you what SNAs you should be working on and with very few exceptions your SNAs don't really have due dates (if they do they are probably calendar items instead of SNAs).
With that said I use start dates in my tickler folder. This makes is close to the accordian folder that David Allen talks about in the book.