Look at error logs and crash logs, there is likely a problem with a block somewhere, it may just be hard to find.
If you can get a fix on what the coordinates or at very least the tile entity that is giving you the problem, then you can use MCEdit to edit the world to eliminate it.
Done it several times to repair worlds