Индекс регулярного выражения начинается с 0, а не с 1. Таким образом, ваше правило должно быть:
<rule name="Old2New" stopProcessing="true">
<match url="^oldpage.aspx?oldid=([0-9]+)" />
<action type="Rewrite"
url="/sub/newpage.aspx?newid={R:0}"
appendQueryString="true" />
</rule>
Вы можете легко проверить свое правило в интерфейсе IIS7.