Hi Richard,
This would be challanging to implement and reliabily work. However here is how I see it can be done.
1. Create a Outlook Rule to
Delay the delivery of all messages
2. Use GPO or Logon Script to deploy this rule creation to all client PCs
Few things, this rule would be client side rule. Users might need to be on Cached Mode. This would not work on OWA (no option there)
As per a article below, it is not possible to deploy/force rules via Group Policies.
You can however create rules by using the Outlook Object Model (OOM). You can then deploy this script so that the rules will be created automatically but users will be able to delete or turn off these rules if they want to.
You can find a code example here (also applies to Outlook 2010). This code can be adapted to run in a standalone vbs-file instead of a macro so that you can place it in a logon script.
http://msdn.microsoft.com/en-us/library/bb206765(v=office.12).aspx
Few things that you should keep in mind:
An e-mail message may not be delivered at the scheduled time when you enable the "Do not deliver before" option in an Outlook message
https://support.microsoft.com/en-us/kb/918824
References:
Outlook rules and group policies
https://social.technet.microsoft.com/Forums/office/en-US/01ee7305-d767-4400-ab79-2a9201d51d2b/outlook-rules-and-group-policies