There are several ways to do it, depending on your database. The most portable is:
SELECT t.jobname
, t.status
, t.timestamp
, t.comment
FROM your_table t
JOIN (
SELECT jobname, MAX(timestamp) as timestamp
FROM your_table
GROUP BY jobname
) max_timestamp
ON max_timestamp.jobname = t.jobname
AND max_timestamp.timestamp = t.timestamp
Of course this assumes that you don't have 2 entries with the same name and the same timestamp. It is usually less efficient than selecting back and filtering outside of the database.
Google tells me that Sybase doesn't yet support the better SQL 2003 solution of analytic queries.
Also a note about your solution. I would strongly recommend ordering on jobname and then timestamp. This will put all of the records for each jobname together, making it easy to figure out which is first and which you should throw. Otherwise you need to keep a potentially large hash of which jobs you've seen. (You skipped that step in your code.)