DoReauthorization is for use only with basic authorizations, not order authorizations. To use DoReauthorization you must have previously authorized a transaction and that transaction must have passed its settlement period. Calling DoReauthorization on a valid transaction will fail.

You can authorize a transaction with the DoExpressCheckoutPayment PaymentAction property set to "Authorization".

You can invoke DoReauthorization as many times as necessary to obtain one successful reauthorization. When DoReauthorization returns success, the settlement period restarts, you can capture funds, but you can no longer reauthorize.