USB P-FET incorrectly wired?

Nope, it's correct.

If VIN is plugged in, then the gate of the MOSFET gets 5V and keeps the P-channel MOSFET off. This is because the source (+5V) to gate voltage is 0 (since the gate is also at +5V).

If VIN is not plugged in then the gate is 0V and since USBVCC-0.7V appears at the +5V node through the body diode of the P-channel MOSFET, there is 5V-0.7V=4.3V between gate and source and the MOSFET turns on, bypassing the diode and now the full 5.0V appears at +5V.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, light sensor, potentiometers, pushbuttons