I can't find an exit in your code snippet. Assuming you run through the entire code, and leave it with the last line shown, it's obvious it returns 0 as the last echo succeeds.
If you ask yourself why your find s always output a success, look at the RETVAL variable: it's set by the exit code of an obscure command run before the entry into your code snippet.
find simply doesn't return nonzero unless something prevents it from doing what you asked it to do. If it tries to do open a directory and the system tells it "Permission denied", that's an error for example. "Zero files" on the other hand is not an error, just a fact.
Anyway your use of $RETVAL is wrong, because nothing ever changes it. It remains the same throughout your entire program. Using $? instead would also be wrong, because everything changes it -- every time you run any program or test any condition, that changes the value of $?. Even [ $? -eq 0 ] changes the value of $? afterwards. If you want to do more complicated logic in your shell script, use proper if/then statements, case statements, and the like.
What I might try is something like this:
# Always quote your variables
find "${Docs_Backups}" -mindepth 1 -mtime +3 -print -delete > "/tmp/$$"
if [ -s "/tmp/$$" ]
then
echo "Found some files"
else
echo "Found zero files"
fi
rm -f "/tmp/$$"
/tmp/$$ is a simple way of making a random temporary file, since $$ is your process ID and ought to be unique while your program is running.
-s is true when the file has any contents, false when it has no contents.