This PowerCLI line should fix it.
get-vm | Where-Object{$_.notes -eq $null } | set-vm -notes " "
get-vm | Where-Object{$_.notes -eq " " } | set-vm -notes ""
It works by finding null annotations and replacing them by a blank space, then replacing again by an empty string. My previous version tried to directly set the empty string but didnt work permanently.