I'm not sure if this is a bug or not, but using an Arduino Due with IDE 1.5.3 (and prior it seems) makes pins that are set as outputs HIGH by default. Is this the intended design since it is the opposite of the AVR based Arduinos?
For those curious people, the problem stems from PIO_OUTPUT_1 passed as the second argument to PIO_Configure() in the OUTPUT case of pinMode in Arduino/hardware/arduino/sam/cores/arduino/wiring_digital.c. To make pinMode output LOW by default, change PIO_OUTPUT_1 to PIO_OUTPUT_0.
case OUTPUT:
PIO_Configure(
g_APinDescription[ulPin].pPort,
PIO_OUTPUT_1,
g_APinDescription[ulPin].ulPin,
g_APinDescription[ulPin].ulPinConfiguration ) ;
case OUTPUT:
PIO_Configure(
g_APinDescription[ulPin].pPort,
PIO_OUTPUT_0,
g_APinDescription[ulPin].ulPin,
g_APinDescription[ulPin].ulPinConfiguration ) ;