Each step in this application builds on previous steps so your suggestion doesn't really apply. It would be like building a house without all the pieces and going back later to fix things. Plus there are up to 250,000 files in up to 5000 directories involved.
What I have already done is make the script look for an existing download folder and process any files there.
In the problem I stated of people browsing the directory, if someone consistantly does this after running the script then the script will consistantly fail which would be an embarassment. If I can send a more descriptive error message than "permission denied" then hopefully I can change this behavior or find out if there is something else to blame as other responders have suggested.