Think of the FOR EACH returning a set. In the above code, the set is empty, so the enclosed code never executes. With the FIND, it is either going to find a record matching the criteria or not, but it will always proceed to the next line, so the not available is reported.
Indeed, were I...