I spent all day struggling with the above error that poped up on report generation. In the end I found the problem and since I haven't seen this specific issue documented anywhere I figured I share it. This is a new envoronment setup with seperate servers for SSRS and MS SQL. The SSRS logfile complained about "Expired Session" each time. The problem was when the servers were setup they were set to different time zones! The report server (set to Pacific) saw all of the session in the MS SQL Server (Eastern) as expired.
I hope this info saves somebody a great deal of time.
-- Mark