I'm getting this error also, if I go back and refresh the page then confirm order it goes through fine. I've compared the fields that are set up on both ocassions before it goes off to paypal and it seems the error lies within
<input type="hidden" name="invoice">
On a successful transfer this field is populated with the order number (the next ID of the orders table), when it fails it looks like below
After pressing back and refresh I guess it's then accessing the session that was created on the creation of that page and retrieves an ID number for the order.
Any ideas from anyone else, experience of similar problem?