Wow man, I didn't see this thread for some reason until your update bumped it in RSS.
It is in fact a logical and reasonable thing. To delete directories in the same order as the nodes are processed (depth first) wouldn't work. It would be trying to delete dirs that still contain unprocessed items, which doesn't work (at the programmatic level there's no rm -R).
Instead of adding complicated logic to do recursive removes, it just pushes the list of dirs that need deleting onto a stack, and reads them out in reverse order at the end for actual deletion. This ensures that /foo/bar/etc is deleted before /foo/bar.
Hope this answers your question.
I'm a devoted follower of s3sync, but not it's rather unarticulate programmer.
By the way I'm happy to help, but calling me names isn't a good way to make your case. Also, I happen to be extremely articulate. Perhaps you meant "unresponsive" or something?
Cheers.