• The only correct answer is:

    select * from sysprocesses where program_name like 'SQLAgent%'

    on my dev system (MSSQL 2005 Developer) with Agent running, it returns status = "sleeping" and cmd = "AWAITING COMMAND". The query executes in 00:00.

    Even if you fix the typo in other answer and run this:

    xp_servicecontrol querystate, SQLSERVERAGENT

    it returns Current Service State = "Running." and the query executes in 00:05.

    ...so the version using an undocumented sp takes much longer, and might not work in future MSSQL versions. Plus, the return value of the status is inconsistent.