Try adding users to the TargetServersRole role in msdb. It's really meant for remote server administration, but it has the correct permissions for seeing jobs with being in Sysadmin.
You may need to add execute permission to sp_help_job and sp_help_jobhistory, but try it first.
Greg