What kind of SSL are you using? If it is an SSL proxy server, then it is possible that the web app is not able to detect a secure request.
By default if SSLIsAvailable is true then the role cookie will be marked as a secure cookie which is only passed over secure https requests. But if the web server does not know it is a secure request because of the proxy then maybe it would not send the cookie.
I would try add this to Web.config, if it works after that it would confirm the theory I just mentioned.
<add key="RequireSslForRoleCookie" value="false" />
See also Using an SSL Proxy Server, but be aware that the settings mentioned there require the latest version of mojoPortal