I figured out why I am getting a new session created when I return from PayPal.
The original url was www.bw..... and the return url is bw..... The www is missing. I added in the www in the return and the cart is intact when I return now.
Is there a good way to determine if someone starts the site at bw... instead of www.bw.... ? It seems to me that the return url will need to be determined by the url they started at. Any suggestions?