Moved to ePO for faster attention.
A better approach might be to create a agent deployment task configured to deploy the new agent version, then assign it to all machines. You can configure it to run as often as you like.
That way when the client machines connect in, they will pick up the new task, execute it as per the schedule, and upgrade the agent. If the agent runs the task again, all that will happen is that it will see that the correct version is already installed, and exit without actually doing anything.
Yes, it will not reinstall everyday once agent upgrade to 4.8.
Thanks for the comments. That answers my questions.