You could use a delivery method set to "Delay until next login automatically". Once you have the delivery method set up the way you want you can then use it with your scheduled task.
That is true. Our concern about waiting until login time is that some of our applications require a reboot in between an upgrade, or on a simple installation as well. Having my users get logged in and start working only to have the machine reboot to complete the job doesn't seem very friendly.
Wouldn't the reboot happen whether at login or at boot time? Not sure I understand the process you are trying to achieve.
Here's what I can see about what you are suggesting:
Delay until next login automatically: When checked, package installation is delayed until the next login without prompting users. After the next login, users will see the deferral dialog box if you select User selects how long to delay.
What I'd like to see for some applications, is that the user doesn't even get presented with a login screen until the "work" is complete. Install, update, reboot, whatever.