Risolto!!! concatenando le condizioni con istr posto la funzione completa modificata:

codice:
    'funzione cerca
    Public Sub TwitterFind()
        Try

            Dim MatchFound As Boolean = False
            Dim I As Integer = 0
            Dim dataoggi As String = Date.Today
            Me.ListBox1.Refresh()
            Do

                'qui con la funzione InStr controllo la stringa di errore
                If InStr(Me.ListBox1.Items(I).ToString, dataoggi, CompareMethod.Text) And InStr(Me.ListBox1.Items(I).ToString, "ERROR", CompareMethod.Text) > 0 Then
                    MatchFound = True
                    Me.ListBox1.SelectedIndex = I
                End If
                I += 1
            Loop Until (I >= Me.ListBox1.Items.Count) ' Or (MatchFound)
            'controlla se esiste la stringa ricercata allora manda messaggio altrimenti nada
            If MatchFound = True Then
                Call SendEmail()
                'Else
                ' MsgBox("non ce nada", MsgBoxStyle.Information, Title:="Nagios Control Center")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
In questo modo prende in condiderazione sia la data sia la stringa di errore sembra funzionare... Prememetto che non è perfetto in quanto se entrano più errori nello stesso giorno invierebbe i vecchi alert relativi alla giornata odierna. L'approccio ideale credo sia quello indicato da @gibra facendo analizzare solo le nuove righe di log ad ogni update del log stesso