I want to delete everything from my Facebook account (including, ideally, posts I've made on other people's walls) but keep the account open. It seems that there used to be some scripts that would do this, but that these scripts no longer works. Searching Stack Exchange throws up a few answers that refer to writing a Facebook application. Is this now the only way to do this, or are there scripts or similar that will do this for me?
You will need to write a Facebook application that leverages using a Facebook user access token belonging to a Facebook native not a third party. Third party application cannot delete all posts.
Even then you might run into a rate limit.