>> Meanwhile, the Satimage "find text" is also producing errors, again
>> when the target string is not present.

You could use regexps that find nothing if that is what is present

find text "[123]*$" in "1345" with regexp
--> {matchPos:4, matchLen:0, matchResult:""}

However failing to find something (that is missing) might be an error in the
unput data. You just trap it.

try
    find text "[123]+$" in "1345" with regexp
on error m
    display dialog m
end try