From the documentation:
“Important Note regarding deferrals
The SCCM 2012 Application Model does not have the flexibility to schedule Mandatory Assignments on a recurring schedule like SCCM 2007 or SCCM 2012 packages do. Instead, this is determined by the frequency of Software Deployment evaluation cycle in the SCCM Agent Custom Settings. You can modify this to reduce the time from the default of once a day, however this may increase the load on your SCCM servers and clients, and is not configurable on a per application basis:
I was thinking about this issue.
From my memory, when a Customer wish to defer an installation, a registry key a create to count the deferral. What if a Schedule task would also be create to refresh the appropriate SCCM Policy? Then noone would need to change SCCM agent settings. The Schedule task creation might depend of a switch as the time delay.