This is still an issue in SSRS 2008 and 2008 R2. We hit this today and, in the interests of not breaking Reporting Services whilst still preserving the sanity of our sa users, decided to just hide them from view altogether. I achieved this by altering the where clause on msdb.dbo.sysjobs_view:
WHERE ((owner_sid = SUSER_SID())
OR (ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) = 1)
OR (ISNULL(IS_MEMBER(N'SQLAgentReaderRole'), 0) = 1)
OR ( (ISNULL(IS_MEMBER(N'TargetServersRole'), 0) = 1) AND
(EXISTS(SELECT * FROM msdb.dbo.sysjobservers js
WHERE js.server_id <> 0 AND js.job_id = jobs.job_id))) -- filter out local jobs
) AND (
ORIGINAL_LOGIN() != 'sa' OR
jobs.name not like '________-____-____-____-____________'
(That's 8, 4, 4, 4, 12 underscores in the match by the way.)
Reporting Services can still see and manage the jobs, but our sa user can't see them and/or break them.