Personal, I think that "eternally" banning users from posting questions/answers is a bit harsh.
Allow me to explain the
eternally part; after posting a few bad questions on SO (when I was a new user) I was banned from asking questions, and after realising the mistakes I made, I went back to improve my posts (either by deleting or editing them). So while I waited for some of my questions to be upvoted enough for me to ask questions again, I found other things that I can do to still contribute to SO (such as, posting answers, editing posts, flagging, approving edits, etc).
And so I waited, and waited, and waited (for over three months), and finally I came to the conclusion that it's probably unlikely that I'm going to be able to ask questions again (this side of the century). Think about it, when have you ever seen a "reformed" question/answer get upvoted enough (within a reasonable amount of time) for the user to get unbanned?
So with the above in mind, I thought that it would be a good idea to unban users that have gained a certain amount of extra reputation from when they were banned, this way we can be more certain (when compared to simply shortening the ban period) that the user isn't going to post something bad again.
This is just an idea to help users who have truly turned from asking/answering "badly" (and can't get enough votes to get unbanned) get back their deserved privileges.
So, what do you think?