Barking up the wrong tree: GTD is the right thing in the wrong direction
This is just a believe i must confess, I never really used it for real, but in my view, GTD is just barking up the wrong tree, maybe the perfect solution in handling a problem, but you simple should not even have such a problem in the first place, because:
"In a game you can't win, you must change the rules"
James T. Kirk
What got me really suspicous are the examples. Come on, what a moron are you when GTD makes you jotting down "shopping for birthday present" somewhere? And no, this it is not a made up example, 6.4 million google hits I got for this little shopping example. Before drowning in a long rant on GTD just let me give you my wisdom about what might be the right tree to bark up: be focused on what you do.
That is all it really takes to be as good as you can get in what you are doing. GTD just simulates beeing focused! GTD nerds are getting this warm fuzzy feeling when they see their 30+ little projects and actions nicely organized in whatever supporting tool they use, the more the better. But however you do it, having such an overload of actions and projects is exactly the opposite of being focused. Being focused does not mean splattering your mind over the days in minute long fragments. When you are a programmer, then you now what I mean with "flow". The very best moments of my productive life where when getting into the flow of doing things, code just flows into your editor seemingly effortless. Loose things suddenly engage with eachother and the whole becomes more then its parts. For more body/sports oriented people that might be what happen when riding ocean waves on surfboards. There is no "just the next thing" to do, all is happening right now, at the same moment. We could now talk about buddhism and Heidegger and holistic approaches, but I don't want to bother you with that and I am no expert in neither of them anyhow.
"Change the rules", don't optimize in doing more, do less instead. Try finding out what? you want to be focused on, instead of optimizing how you can do so.