Make sure you select custom time, I have candles from your start date up to yesterday because I copied 5 month intervals into my Excel sheet.
Thanks. Ok I believe I see the reason now - bitcoincharts reuses the closing price of the last datum for the opening price of the next, whereas I only included trades within the range t and t+i (where t is the unix timestamp at the start of the candle and i is the candle interval). Both ways make sense - bitcoincharts gives the theoretical price for a trade if you were to do it at t, whereas whydifficult's and mine give the price for the first trade - however our way conforms to the official use of the term 'opening price'
http://www.investopedia.com/terms/o/openingprice.asp. Except for the opening price, most of my data agrees with that of bitcoincharts', except for where the opening price is the same as the high, low or closing, in which case my values differ in about 5% of cases.
Make of this what you will. I don't think it makes too much of a difference anyway - backtesting is an approximation, and during real trading your actual trade prices are likely to be different from those given by the candles anyway. All of these datasets seem to be accurate, albeit inconsistent with each other, but these inconsistencies seem easily explained.