Eu não tenho certeza sobre o seu booleano, mas você precisa de um teste de "Is Nothing" caso o Find não receba uma correspondência, por exemplo
Private Sub Worksheet_Change(ByVal Target As Range)
Static mailSent As Boolean
Dim found As Range
Set found = Range("G10:G250").Find("YES", MatchCase:=False)
If found Is Nothing Then Exit Sub
If Not mailSent And found.Count > 0 Then
SendMail
mailSent = True
End If
End Sub