Programming an ATmega328 with Arduino bootloader via a FTDI USB-serial adapter
Couple of suggestions:  

Looking at the picture you appear to be following here: 



There is almost certainly an error which will cause Reset not to work as expected.

I think the Reset circuit is supposed to mimic the one in an actual Arduino, which has DTR connected via a 100nF (0.1uF) capacitor to /RESET (pin 1). The actual Arduino (eg: Deumilanove) schematic shows a 10k pullup resistor from pin 1 to +5V. This will force /RESET to become deasserted some brief time after being asserted by DTR going low.

However, on the breadboard in the photo, the 10k resistor is connected to the wrong end of the cap, attaching to DTR. This will have no effect, and means that the /RESET recovery will be only due to the in-built pullup, which is purportedly a higher value like 30 to 60k, and will thus take 3 to 6 times as long to reset, and will be more susceptible to noise.

Moving the 10k resistor pullup to pin 1 may solve the problem outright.

Another thing to check is whether to are actually getting 5V out of the 5V pin on the FTDI adapter. Many of those boards come with jumper headers or unsoldered jumper pads to allow you to wire the "Power out" pin to either 5V or the 3.3V regulator on the FTDI chip.

And add resistors (say 330 to 1k) in series with each of your LEDs to avoid the causing excessive load. The photo appears to show an LED wired directly across 5V-Gnd, and another from Vcc to D13. The first one by all rights should burn out immediately or cause some other havoc. However, it's possible these are LEDs with built-in series resistors.

It would also be good to add parallel 0.1uF and a 47uF capacitors across Gnd and VCC near the 328, to give it a clean supply.