Did you ever resolve this problem? I am running into the same issue. We have 6 build collections, each with a different task sequence deployed to them. They are set to required and Always Rerun Program. The problem I am having is a new bare metal box will build once. If it fails at some point beyond laying down the OS and it boots to the OS and checks into SCCM, I can never get it to run that task sequence again. If I clear PXE advertisement it says there are none to clear. I verify that the task sequence is deployed to that collection and that the computer object is still in that collection. In the properties of the computer object, on the deployments tab, it shows that the task sequence is available to it.
However when I PXE boot it goes into WinPE and establishes network connectivity and then reboots immediately. If I hit F8 and check out the smsts.log, I see the following: There are no task sequences available to this computer.
In SCCM 2007, I could delete the object from SCCM and then re-create it. No problem. However in SCCM 2012, it handles "deletion" completely differently. Here's an article: http://myitforum.com/myitforumwp/2012/08/08/sccm-2012-when-you-delete-a-system-from-the-console-its-removed-from-v_r_system-but-still-exists-in-table-system_disc/
So I can't figure out how to redeploy a task sequence to an existing SCCM object or one that failed at some point but still checked into SCCM.