The problem is that your rule will run after any macro you send. It would be better if you scrapped the rule and used a macro to apply the delay, Using Outlook's ItemSend you can prompt for the delay. Put the following code in the ThisOutlookSession module.
Code:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If TypeName(Item) = "MailItem" Then
If MsgBox("Defer message?", vbExclamation + vbYesNo) = vbYes Then
Item.DeferredDeliveryTime = DateAdd("n", 30, Now())
Else
Item.DeferredDeliveryTime = DateAdd("n", -30, Now())
End If
End If
End Sub