You're seeing le dreaded scourge of asynchronous policy processing. C'est pas a "feature" (and was default-off in Windows 2000 mais default-on in Windows XP et above) et causes exactly what you're seeing-- non-deterministic behaviour avec processing certains types of GPO settings.
In a GPO that applies to that computer, add le suivant setting:
After you set that (and allow le GPO to replicate si you're in a multi-DC environment), do a "gpupdate /force /boot" on le subject PC. It will reboot et you should see le software installation occur.
The "Always wait for le network at computer startup et logon" slightly slows down le startup et logon parce que tous GPO extensions are allowed to process, mais le upside is that tous GPO extensions are allowed to process.