Arduino + Fingerprint scanner comms only works on external power

Hey everyone, so I'm trying to interface with a GT-511C1R fingerprint scanner. I'm using a prewritten library courtesy of mdcanham (Link)

I'm running the FPS_Blink program which uses software serial to blink the FPS LED on and off. It works fine, but if I plug the USB cable in to view the serial monitor, it no longer works and nothing shows on the serial monitor. I leave the external power connected, and this generic board I'm using has the USB input/DC VCC Auto-switch that should keep it running on external power and only using USB for data. (Schematic)

I'm not quite sure what's going on here. I want to be able to have the Arduino plugged into USB because I need the serial monitor for enrolling fingerprints in another program. Any help would be greatly appreciated.

Setup: http://i.imgur.com/maOsxH3.jpg

The two transistors, buttons and resistors at the top of the board are a soft latching circuit. 9V coming from the emitter of the NPN transistor powers the Arduino, and the Arduino powers the FPS from the 5V pin.

FPS_Blink sketch: https://github.com/mdcanham/Fingerprint_Scanner-TTL-GT-511C1R/blob/master/FPS_GT511C1R/Examples/FPS_Blink/FPS_Blink.ino