FYI - I found that this query gets the info you need to programatically find out when each agent last succeeded.
SELECT a.publisher_db, a.ID, MAX(TIME) lastsuccess
FROM distribution..msmerge_history mh
INNER JOIN
(
SELECT a.publisher_db, MAX(ID) ID
FROM distribution..msmerge_agents a,
master..sysservers s
WHERE a.subscriber_id = s.srvid
GROUP BY a.publisher_db ) a ON a.ID = mh.agent_id
WHERE runstatus = 2
GROUP BY a.publisher_db, a.STORE, a.ID
Thanx,
Bill Elvin