Making a controllable H-bridge
This doesn't answer your question directly, as it's providing an alternative to your DIY circuit, but if you want a decent controllable H-Bridge, try the TI L293D.

You get four half-bridges, and it has built-in clamping diodes to save your circuits from frying due to counter-EMF when the motor is shut down. While it says it requires 5V logic levels, I can still use a Raspberry PI, Microchip PIC32, or Arduino via 3.3V lines to control it for managing a large array of stepper motors.

References


L293, L293D; QUADRUPLE HALF-H DRIVERS, Accessed 2014-06-19, &lt;http://www.ti.com/lit/ds/symlink/l293d.pdf&gt;