The WarningPreference variable would suppress all Warning types messages.
Scheduled PoweCLI scripts have been known to hang on such a warning message.
Running the PowerShell engine with the NoProfile parameter, avoids loading the user's PS profile.
Some profiles, depending on what is in there, could have issues when run as a scheduled task.
When does the RC change to 0, when both are used, or when only one of them is used ?
But the mail is still not sent I understand.
One more thing to try, try running the scheduled task under another account.
But make sure that account can execute the script interactively without any issue.
You could also consider adding Start-Transcript and Stop-Transcript cmdlets, perhaps the log shows something