Can someone explain how I can fix this statement so that it works
every time.
Right now, it works if there are two or files in the folder, but
fails if only a
single file exists.
This is a known issue, Jim.
You could either use a try block, as suggested by Shane, or count the
matching items and coerce as appropriate:
---------------
set hold_folder to choose folder
tell application "Finder"
tell (every item of folder hold_folder whose kind is not "folder")
if (count) is 1 then
set theList to it as alias as list
else
set theList to it as alias list
end if
end tell
end tell