If you running the tasks as scheduled (forced), and you have it set to run once, it will only run once, even it that one time is a failure. So, depending on your goals, I would create the collection of machines without version x, and run the schedule daily. The collection update policy that runs will help update the collection, although that data is driven by inventory solution, so that is dependant on how often you run an inventory scan.
You may want to investigate the use of Task Server, which by the way is the core deployment function in version 7. It gives you a better graphical view of what has been executed and you can reschedule failed tasks.