This is happening due to domain switching.
it happens as a result of switching between the www address for you domain and the none www address:
each of those is a separate domain, thus a separate browsing session
if you start shoping at:
and paypal redirect you to the pp_confirm page at:
the session and cart contents no longer exist because it is a separate domain.
to fix this, you should force all traffic to use one or the other, this can be done using htaccess: