Minecraft - recovered level.dat doesn't work

Solution 1:

If you don't care about the player inventory or positions, you could create a new world (with a different name), close minecraft and then copy the region files from your old world to the new save folder. This would effectively insert the chunks from your old world into the new one, but can cause cliffs to appear at the edges of the "old world" (different terrain height) and you'd have to find out where the old chunks are located (fly around 0,0 in creative mode and look for the mentioned cliffs as a clue).

You can also try opening your old level.dat with an NBT editor and look for the world seed: creating a new world with your old seed prevents ugly cliffs from appearing. You could also find out the old player coordinates from the level.dat and simply teleport there in the merged world instead of having to search for it.

edit: I the NBT editor I used for similar things is called NBT Explorer