Thanks Ruslan,
That link was exactly what I needed for the query string problem. As for the session, the anchored regex pattern didn't help. This is what my redirect looks like now.
<rule name="Redirect aspx to extensionless" stopProcessing="true">
<match url="(.*)\.aspx$" />
<action type="Redirect" url="{R:1}" redirectType="Permanent" />
</rule>
I tried removing the stopProcessing attribute, and also removing and adding session back in the modules collection via this recommendation http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=357248
Here is the post that lead me to that bug on Microsoft Connect
http://forums.iis.net/t/1151614.aspx
I've tried putting my 'rewrite' collection before and after the 'modules' collection. None of these help with the session. Here is my modlues collection.
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" />
</modules>
As for cookies, I am not using cookieless sessions. Right now this is on a staging site on a subdomain and the www redirect rule is not in web.config so the cookie's shouldn't be getting lost through the redirection. I am completely lost as to why the session isn't working based on other posts/workarounds I have worked and tried.