Nice.
Short answer: Yes, USB serial uses pins 1 and 2.
Why can it reprogram if messed up? I assume its because the Arduino is always reset before reprogramming, so it can pretty much always get access to reprogram on boot-up.
You could use the http://www.arduino.cc/en/Reference/SoftwareSerial library to communicate using different pins.
Heh, lasers are ALWAYS a good idea.
I could see how motion sensing or tracking might be beneficial here too.