In a Slashdot [link|http://slashdot.org/comments.pl?sid=26254&cid=2843587|post], someone describes how AT&T recovered after rolling out a bad patch.
They had to eventually take their old version, give it a new, higher number, and then compile and release that. So that that 'feature' once again became a feature and not a bug. Many lessons to be learned.

This might be a good practice in general. Give the odlder "known good" version a higher number. This way you never have a "rollback". You are always going forward.