yes, your htaccess file could be overriding the code.
to test this, you can delete the htaccess file from the server (make a back up first)
In you case where you only want some pages going to https, you should only need to change the checkout behavior on the cart page and give it the full https address.
if this is not working, I would suspect the htacess rule as the culprit. or you have multiple instances of the checkout server behavior on the cart page.