There seems to be some confusion on what RunOnce actually means.
It doesn't mean "run one time only".
From Microsoft...
"Run and RunOnce registry keys cause programs to run each time that a user logs on. The data value for a key is a command line."
"By default, the value of a RunOnce key is deleted before the command line is run. You can prefix a RunOnce value name with an exclamation point (!) to defer deletion of the value until after the command runs. Without the exclamation point prefix, if the RunOnce operation fails the associated program will not be asked to run the next time you start the computer."
This example from a Windows XP SP3 box shows that the key was updated today, and by my observation, updated daily...
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce 20131224 REG_SZ C:\Program Files\AVAST Software\Avast\setup\emupdate\c101a010-40fe-42c9-a1d7-4b42d9a59aea.exe /check 12/30/2013 9:00:02 AM 101