It's interesting that you say that the return URL is:
http://...login.aspx?returnPage=Checkout.aspx
Forms based authentication in .NET uses the query string:
... ?ReturnUrl=<somepage.aspx>
i.e. ?returnUrl
not ?returnPage ...
Perhaps this was just a typo. Are you sure you are really using forms based authentication and you have the necessary settings for form-based authentication set in web.config?
I've used it on several occasions and have not seen your symptoms - it works fine - for me, anyway.
Jeff Mason
Custom Apps, Inc.
www.custom-apps.com