Need to upload the same sketch every time I power up the Arduino

I'm using the DmxMaster shield http://www.tinkerkit.com/dmx-master-shield/ to control some DMX lights, and everything is fine except from the fact that whenever I power off the Arduino and power it up again, nothing happens and I have to upload the sketch again...
Here's the schematic of the shield Dropbox - Error
Is there something with the Rx/Tx pins (just a wild guess, no idea actually...)?

Is there something with the Rx/Tx pins

It could be that your DMX circuit is fooling the boot loader into thinking there is a program waiting to be up loaded.
Try unplugging the DMX connectors, powering up and then re attaching them. You might find the program comes up.

Try unplugging the DMX connectors, powering up and then re attaching them. You might find the program comes up.

Tried it and the IDE seems to hang. First time it gave the "programmer not responding" message and second time it just hanged...
Powering the board off and then on again (with the shield on) and uploading the sketch worked fine...

You are not describing things as they happen.

First time it gave the "programmer not responding" message

You can only get that message when you try and upload code.

Basically the code sits in your Arduino and will run every time you power it up.
When you open the terminal window you will reset the processor and start the code again.
A few people have reported that they need to reload code before it will run and every single time they were mistaken, I don't see you being an exception.

Have you tried powering it from something that is not the USB port?

Have you tried powering it from something that is not the USB port?

Yup, tried with a battery..didn't work.
I should point out that I haven't seen this before but only with the specific shield.

I think you are missing telling us something.

I think you are missing telling us something.

I often forget to mention my OS and board and IDE version, pardon me. I'm on OS X 10.8.5 with Arduino IDE 1.5.6-r2 and board Arduino Uno R2.
As I am now trying to debug this, what happens is that if I unplug and plug in again the USB cable, without removing the DmxMaster shield, it works fine, I don't need to upload my sketch again.
If I unplug the USB, unplug the XLR going to the lights, replug the USB and replug the XLR, I might or might not need to upload the sketch again, it's not stable.
If I unplug the USB and power up the Arduino with a battery, it won't work. But if I unplug the USB, remove the shield, power up the Arduino with a battery and put the shield back, it works...

It's kind of confusing. I hope I gave enough information...otherwise please tell me what other info is needed to solve this.
Thanks

remove the shield, power up the Arduino with a battery and put the shield back,

Never ever plug in or remove a shield with the arduino powered up. It is a sure fire way to damage things.

If I unplug the USB and power up the Arduino with a battery, it won't work.

That suggest you have a problem with your grounds. It is the ground the USB is providing. Just to test this connect a wire from the outside of your USB lead to the arduino ground and power it up with batteries. It looks like that will work.
If it does then you need to find out where your missing ground is, or rather where it is not.

Never ever plug in or remove a shield with the arduino powered up. It is a sure fire way to damage things.

Thanks for the tip, I didn't know that.

That suggest you have a problem with your grounds. It is the ground the USB is providing. Just to test this connect a wire from the outside of your USB lead to the arduino ground and power it up with batteries. It looks like that will work.

It didn't. I've connected a 9V battery to a plug and plugged it in Arduino (I guess I'm not very clear, what I mean is that I don't use the Vin and GND pin headers, but the socket to provide power from a plug, but instead of a plug I'm using a battery). I've used that before with an XBee shield and it worked fine and I didn't have to upload that sketch again, so I'm pretty sure the power supply is not a problem. Of course I tried your suggestion, but the result was the same.

so I'm pretty sure the power supply is not a problem.

No not the power supplies but the grounds between your DMX system and your battery powered system. By using the USB plug you could in effect complete a circuit that is open without the grounding that supplies.

There is no reason why it should not work off a battery as long as the battery is good. Have you checked the voltage under load. Those 9V batteries are pretty rubbish you know.