Actualy, I already solved the problem. It is, apparently, actually a bug in internet explorer! The double requests happen when IE encounters certain cache-control mechanisms. One of the mechanisms added with php's session-start. By simply clearing these mechanisms, IE no longer duplicated the request, and everything ran smoothly.
PHP adds the following cache control policies by default with session_start
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
This I verified with Fiddler.
I believe that must-revalidate is the policy that is causing the problem, though I could be mistaken. IE's implementation of xmlHttpResponse incorrectly requests said object twice upon encountering one of these cache-control mechanisms. I should note that the AJAX handler in this case only receives one of the requests, the other is silently discarded by IE. I dont believe this could possibly be the appropriate behavior and I will be releasing a bug report to the IE team later tonight.
If you wish to duplicate this, simply create a simple ajax request however you wish, setting the target destination to be a PHP file that utilizes session_start(), and outputs SOMETHING, ANYTHING. You will only recieve the response once from your handler, but the server side code will be executed and returned twice (the later invisible) to the client.