Hi,
Is there anything in your SQLAGent.out files that can give you a clue? Have you changed the startup account lately (one of those things that could have been changed a long time ago but the change did not come in effect until the service was restared).
Try to start the agent from the command line and pipe the result (and then check the agenterror.out for clues):
sqlagent.exe -c -v >C:\agenterror.out
You can also try the steps in http://support.microsoft.com/kb/322140 although the article specifies another error.
HTH!
/Elisabeth
elisabeth@sqlserverland.com
MCITP | MCT
http://sqlblog.com/blogs/elisabeth_redei/
http://linkedin.com/in/elisabethredei