If your input pulse on pin 2 is longer than 1.1*R*C (the timing components), then the output pulse will be as long as the input pulse. If pin 2 goes low and stays low, then the relay will remain on. If your camera retriggers with the remote shutter control pulled low, then you will experience the behavior you described. If the relay is actually cycling, then it may be feedback onto the supply. Do you have a capacitor from pin 8 to pin 1? Try 10uF in parallel with a 0.1uF ceramic. Install the diode across the relay coil as described by mattg2k4. And what is that LED and resistor doing in series with the coil? That won't work. Don't put anything in series with the coil.
I don't have a simple way for you to shorten the input pulse. The standard solution is to use an RC differentiator, but this requires a fast risetime pulse of at least 5v p-p. You can get the risetime and the amplitude you need by moving your 10k resistor and sensor to one input of a CMOS Schmitt trigger (CD4093), invert its output by going through another section of the CD4093, and connect that section's output to a 0.1uF cap whose other end goes to pin 2 on the 555. You will also need 100k from pin 2 to +9 volts. Connect ALL unused inputs of the CD4093 to +9V or 0V. Be sure to connect pin 14 to +9V, and pin 7 to 0V.
Using a transistor to trigger your camera requires that the 0 volt pin on the camera be tied to the 0 volt rail of your circuit. I think I would use an optoisolator if I wanted to use a solid state switch. Otherwise, noise picked up on the common 0 volt line could cause problems.