Pins stop working on Motorshield R3

The laser pointer is just a cheap dollar general version that we had around the house. Was originally running off two 1.5v button cell batteries (AG3) in series, so it comes ready to run on 3v.

Here is the motorshield I am using attached to my uno: http://arduino.cc/en/Main/ArduinoMotorShieldR3

Here is the pinout that I have on the motorshield currently:

Pin:
3 - Motor Power A (Comes pre-set this way with motorshield)
4 - Servo1 control
5 - laser power. pinmode OUTPUT, HIGH = laser on
6 - Trigger for an ultrasonic rangefinger
7 - Echo for an ultrasonic rangefinder
8 - Brake B (comes set this way with motorshield)
9 - Brake A (comes set this way)
10 - not used
11 - Motor Power B (pre-set)
12 - Motor Direction B (pre-set)
13 - Motor Direction A (pre-set)

A0 - Servo2 Control

Both servos and ultrasonic rangefinder are powered from the 5V pin on the motorshield. The servos, rangefinder, and laser pointer all run their ground back to the two ground pins on the motorshield.

So laser receives power when pin is set to high, and turns off when set to low. Applicable code looks like this:

int laser1 = 5; // set laser trigger to dig pin 5

void setup(){
pinMode (laser1, OUTPUT); // prepares pin to power the laser
}

void loop(){
digitalWrite(laser1, HIGH); // fires on target
delay(1500);
digitalWrite(laser1, LOW);
delay(1500);
}