My scipt works! But times out. Any suggestions?

Try this first:
with timeout of 300 seconds – put statement that takes 4 minutes in here end timeout

A suggestion for you in addition to the one from mac_guy. Save your script as a “stay open” app. Tell ‘Disk Copy’ to quit after completing its job. Add an idle handler to your script to check every however-many seconds for the absence of Disk Copy from the running processes - which would then trigger your script to do the other things you have in mind.

Andreas