For those of you still having problems with this, it may be specific to the hosting environment, but I believe I figured out a fix that should work for most. (I am using MAMP so my environment is localhost)
If you open the Cart66Session.php file in wp-content/plugins/cart66-lite (or pro I would assume)
go to around line 170 and find:
setcookie('Cart66SID', self::$_data['session_id'], 0, '/', self::_getDomain());
replace with:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
setcookie("Cart66SID",self::$_data['session_id'] , false, "/", false);
This sets the header privacy policy so that cookies are generally allowed more by browsers (otherwise they can get blocked sometimes, useful for cookies in frames also). This also changes the cookie to not have a string domain attached to it (which is where I believe it was bombing out and not saving the cookie).
Hope this helps others, like I said no guarantees it works everywhere as I haven’t live tested it, but my cart now shows up and my session sticks with me.
Also, FYI there is a useful debugger that I used to figure this out under Settings-> Error Logging & Debugging.