When you have a corrupted Mathematica notebook, which happens more often than not, you can use the wonderful Corruption.m package from Lou D'Andria.
There is no, to the best of my knowledge, official solution. There was an entry in 5.2 documentation [1] but it seems to have disappeared from mainstream Mathematica.
The Corruption.m package looks completely obsolete (it dates back from 1997):
(* :Package Version: 0.72 Alpha *) (* :Mathematica Version: 3.0 *)
but works like a charm. Just load it and go:
Get["~/Corruption.m"] OpenCorruptedNotebook["~/corrupt.nb"]
Thanks Lou!