Try the GetTransactionDetails API call instead. If you submitted a DoExpressCheckoutPayment call you would get a transaction ID you can use to look up the payment. The response would tell you the status of the transaction within PayPal and give you the shipping address (if provided or requested during the original transaction).
The transaction ID doesn't expire.
I'm not sure if I'm 100% clear on your process though. Are you processing transactions as an Authorization?