We use ZCM to assign bundles to users on Windows XP and usually do On Event: User Login.

As Craig and others have pointed out, you either have to assign the bundle early so that the ZAA refreshes to see that it's supposed to deploy "on login" (but login already happened, so it'll be the NEXT login), or basically wait 2 days/2 logins/reboots.

The issue, regardless of how you assign it to a user (schedule, etc.):

The Agent has to refresh to see the schedule. What happens, if in the meantime, you need to cancel the deployment?

I tried disabling the bundle, but any device that's refreshed, completely ignores this unless the device refreshes again.

I'm GUESSING the only way to actually "deploy" on login AND be able to cancel, would be to set deployment:
On Recurring:
Device Refresh


And that's a FULL refresh, yes, not a partial?

Or does anyone else have any other ideas? (Short of Craig's neat "master bundle install" thingy that does that zac bln blah blah )