Not sure why you were surprised - the Due schematic shows +5V on the SPI and ICSP headers.
I don't know. In any case, the idea of backward shield compatibility was a broken one from the outset. Perhaps this is just a quirky consequence of the implementation of what was basically an irredeemably bad idea in the first place.
IOREF. This pin on the Arduino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V.
So you not using the unofficial Due pinout diagram then?