Well it looks like you're doing something wrong. I have doing this on IIS 7, 7.5 and is works for me. here is the XML code from the web.config.
<rewrite>
<rules>
<rule name="http to https" stopprocessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirecttype="SeeOther" />
</rule>
</rules>
</rewrite>
Match your web.config rewrite code from this one or you can replace this code with your rewrite code. let me know if there's any problem see ya bye :)