Does the script use sessions? Open it up and look for $_SESSION. Also it could have to do with the permissions on the external file, try setting those to make sure the username you run the cron job from has read access.
If a process doesn't work, it needs to be debugged.
You may look (or let your programmer look) at these things systematically:
-- did the program start at all: is everything spelled correctly in the crontab? (possible errors: wrong or incomplete path, the cron job may have a different environment than you, so the path to the script should be specified completely as /path/from/root/to/script). -- Could the program find the external xml file? (possible errors: wrong or incomplete path, see above; to be fixed either in the cron statement if specified as argument, or within the program if hardcoded there) -- Could the program read the file? (possible error: insufficient file permissions, the cron job may run under another user context than you locally) -- Could the database be connected (there always is a database return codes for this)? -- was the SQL accepted (again a database return code)? -- are there other things to note?