As you are certified; I'll start a little higher up the troublshooting chart.
First of all, are you getting these errors for all Alerts that are triggered?
The error message is self-explanatory in a sense - that the service timed out.
However digging into the "why" it timed out can sometimes be a task.
I've found that this issue usually resides with either an updated MS Patch or antivirus/anti-spam updates.
Other suggestions are to doublecheck that the bmmail.cosentry.com is still resolving, and that DNS is not disabled on the server.
Anything past these basic checks of the network, email server, firewalls, etc - You should probably go ahead and open a ticket.
Mention my name and you win one free Alert Engine upgrade ;)
The issue has become much more then just a time out error. I did track this error message down to our SMTP gateway and I have already failed it over to our backup gateway. Which took care of the alert emails not firing off.
The only reason I even noticed the issue was because I was test firing some alerts off and noticed the emails never made it to my inbox. Now running on my other SMTP gateway the emails are coming through but I am getting DB errors when I test fire alerts.
Event Type: Information
Event Source: AlertingEngine
Event Category: None
Event ID: 0
Time: 12:42:59 PM
2009-11-12 12:42:59,658 [AlertCheckingThread] WARN Error - Error in UpdateRowsThatAreReset() -
System.Data.SqlClient.SqlException: Error converting data type varchar to real.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.