There are quite a few ways that you can close off certain endings by doing things in the 'wrong' order... I managed to burn the handle before I'd got the apple... Luckily the "destroy" code wasn't in place then so I could still use it. :)
Normally I'd be against putting the game in an "unwinnable" situation... these days most people don't have any tolerance for that, even though back in the day we were usually fine with the need to restart the game many times, and learn from our mistakes... I think in this game closing some of the paths off is interesting because it does have multiple endings. If there's always an ending possible (even a bad one) then that's fine I think. You could always give hints towards things that the player could've done differently, on the end screen... for example, "I curse the fact that I smashed...." or "If only I'd have figured out that riddle before I headed into the forest" etc.