PayPal Standard - users getting "Could not find a valid session key"
Ken West,

I guess your cron job 'Clean-up Temporary Data and Files' must be running when your site is busy. The session key is not an usual error. CiviCRM stores sessions variables into its database int the form of cache. When 'Clean-up Temporary Data and Files' schedule job is executed or CiviCRM cache is cleared manually the cache table is truncated. So when the user leaves CiviCRM and goes to Paypal standard for making payment and come backs to CiviCRM once payment is done and between these process CiviCRM cache is cleared than CiviCRM won't get the session key of the user from the cache table and you will end up the error message of session key invalid on screen.

Try if you can replicate using below step
1. Open 2 browsers(normal user and admin).
2. 1st browser - Do a donation, Click on confirm.
3. Once the user is on paypal screen(don't proceed with payment), from browser 2 clear civicrm cache.
4. From browser 1 proceed with payment in paypal

Solution:
Try running the 'Clean-up Temporary Data and Files' schedule job once is a day when your site is not busy.

Cheers

Pradeep