well you never explained what the checkout didn't work meant. You are not supposed to put the s on the HTTP_ stuff only on the HTTPS stuff and let the cart work it out. The only places that need to be secured are the checkout and the login, and they are both secured by default when you configure it correctly. As far as external links there shouldn't be any external links to your checkout or login pages.
Not working means it does not work. The steps are supposed to expand open and would not. You could not check out. For me it would not work if SSL was enabled as you recommended. It worked if there was no https in the config and SSL was off. Of course that is useless since we need https. With the https only on the second part of the config and SSL on, it would not let you checkout and you could not add to cart from the home page featured items. I don't know how to be more clear about that.
Once I made all the urls https the checkout started working but the home page items could not be added to cart unless the home page was in the secure mode which it wasn't by default because it was being linked from an external source without the "s". I have looked at the code in index.php with respect to ... if (isset($_SERVER['HTTPS'] and that is a total mess. That is not how it is should be done especially with php 5.3 which should use ...if (!empty($_SERVER['HTTPS'] .... Something is broken with respect to a script as is indicated with fire bug turned on... blah, blah blah is not a function....but because the whole application is unnecessarily complex it is taking a while to find where the error is. Everything worked before upgrading.
I'm ok for now as I have added some code that forces the entire site into https mode.
Thanks for your help.