If it works when you restart Outlook, it is almost certainly losing the startup event, which in any case shouldn't be necessary. Change the code to
Code:
Option Explicit
'Public WithEvents myOlApp As Outlook.Application
'Private Sub Application_Startup()
' Initialize_handler
'End Sub
'Public Sub Initialize_handler()
' Set myOlApp = Outlook.Application
'End Sub
'Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim strGreeting As String
'etc
and there is no event handler to lose.