Why is there a discrepancy between the connection timeout limit specified in the agent properties for Reporting Server and the actual time that a job is executing before it is killed?
There is a timer interval that runs every 60 seconds to determine if a job has gone over the connection timeout limit. Depending on when that timer interval starts, you will see slightly different times that a job is allowed to run before it is killed if it hits the timeout limit. The interval kicks in every 60 seconds, so you should never see a disparity of more than 60 seconds between the value of the connection timeout limit and the time the job actually ran before it was killed.
For additional information, refer to the Data Service Properties section of the 8205 Server Administration manual.