The flow of the checkout when using Express Checkout only should be that the user goes to the cart and clicks on the checkout with PayPal button. The user should then be sent to PayPal to login and confirm their info, when they do they will be sent back to the confirm page. You should then have the option to confirm the details of the transaction and it will then process the transaction and send the user to either the pp_checkout_success or the pp_checkout_failure page depending on the status of the transaction.
What you have described seems to differ from this. Are you using the Express Checkout only option within the store? Have you modified any of the checkout pages with eCart anywhere along the way?