Applescript exits return loop before complete
I would have gone about this a bit differently.

First, I'd use Disk Arbitrator so the external disks would mount read-only and not preform any Spotlight indexing. There's no need to allow indexing if the target is just .qbb and .qbo files to be found using the find command.

Second, I'd use an Automator Folder Action with a Run Shell Script action, as IMO it's just much easier to code.

The following example bash code preforms these tasks:


Creates all destination directories as needed.
Handles disks with multiple volumes.
Finds the .qbb and .qbo files and copies them.
Ejects the target disk when finished copying.
Notifies the process has completed.


Also, as an Automator Folder Action there is a icon on the menu bar which aside from being a visual indicator a process is running, it also allows one to terminate the process if necessary.

Setup the Automator Folder Action as shown below:



&nbsp; &nbsp; &nbsp; &nbsp; Hint: Open image in new tab to clearly see settings. 



When the process is finished it displays the following notification and makes a sound, which can be omitted if not wanted.





Example bash code:

p="$HOME/00_QBB"

[ ! -d "${p}" ] &amp;&amp; mkdir "${p}"

for d in "$@"; do
    n="$(basename "$d")"
    mkdir -p "${p}/${n}"
    find "$d" -type f \( -iname '*.qbb' -o -iname '*.qbo' \) -exec cp -an {} "${p}/${n}" \; 
done

sleep 3
diskutil eject "$1"

osascript -e 'display notification "Insert another disk to start new search..." with title "QuickBooks File Recovery" subtitle "The find command has completed." sound name "Purr"




Obviously you might be inserting disks that you do not need to or want to search, so you can use Folder Action Setup to enable/disable this easily. 

I use Spotlight to bring up Folder Action Setup and then check/uncheck the checkboxes as necessary.