IMHO GTD-based approaches are not optimal for knowledge workers cause they don't limit work-in-progress, and this ends up being overwhelming.
I think a user must be able to postpone a task without assigning a due date to it. I'm working on a todo app that will implement separate hide-until and due dates.