I don't think there is any method to take an action in a Mail rule based on the result of another action. However, it does seem like the OmniFocus script could be easily improved by adding the line starting with "+":
Code:
tell application "OmniFocus"
set AllowedSender to allowed mail senders
if AllowedSender does not contain trimmedSender and AllowedSender does not contain theSender then
+ log "Received message from unauthorized sender " & trimmedSender & ", ignoring"
return
end if
end tell
I change the Mail rule to put all of the messages in a separate folder rather than deleting them.