Yes, there's a way.
Open the script in the script editor and look at the bottom of the dialog. You should see a check box labeled "Run script with full access privileges" you can select.
Have you checked the 'Run script with full access privileges' at the very bottom of the edit script window ?
oops... i should have noticed that.
If your script manipulates data in separate file (not a table), the access privileges specified in the other file will still restrict access according to that file's security settings even though you've set the script to run with full access privileges.
Is there no way around that Phil?
Assuming you want to leave the access privileges as they are, you'd have to have your script in File A do a Perform Script step and call a script in File B that contains the data. The File B script would be set to run with full access and would perform the data manipulation (new record, set field, etc).
Create a script in the external file set to run with full access privileges that will modify the data in that file.
Use the Perform Script step in your original file to run this script in the external file.
You may have to pass data as a parameter to get it all to work, but it can be done with a bit of forethought.
Or you could merge your two files into one file by importing the table(s) from the other file and bringing over the scripts, layouts, value lists and relationships as needed from the other file--that can be anywhere's from a modestly complex job to a very large job depending on the design of your system.