Arduino wont start!

Hello dear friends.I am new on the forums and have a little problem.I have an arduino duemilanove that worked fine until I burned the 328 processor on 12 volts.I brought the new 328 with Arduino Uno bootloader inside,and they are working good.I just select the board in the arduino IDE and everything is ok untill i unplug the USB connector.If i run from usb it is doing the sketch ok,but if i want to run from any external power supply,the led from pin 13 keep blinking,like when you keep pressed the reset button.I tried even the blink sketch to see if my code is the problem but is doing the same.
Is there anything i can do.or do i need to burn the duemilanove bootloader on the processor? I honly have an AVR Dragon at my disposal if i need the ISP option,but would need some guidance to reburn the bootloader.
Thank you guys!

(deleted)

Power supply is ok.I am an electric engineer,but still learn in software part.Now to tell again the problem:My board is arduino duemilanove with the UNO bootloader.After i upload the schetch it wont start untill i press serial monitor button OR reset button on the board.If i unplug the USB cable the schetch never start,the board keep resetting.After i plug the USB again it still wont start until i upload the schetch again and press serial monitor.Here is the schetch i am currently trying:

/*
  Analog input, analog output, serial output
 
 Reads an analog input pin, maps the result to a range from 0 to 255
 and uses the result to set the pulsewidth modulation (PWM) of an output pin.
 Also prints the results to the serial monitor.
 
 The circuit:
 * potentiometer connected to analog pin 0.
   Center pin of the potentiometer goes to the analog pin.
   side pins of the potentiometer go to +5V and ground
 * LED connected from digital pin 9 to ground
 
 created 29 Dec. 2008
 Modified 4 Sep 2010
 by Tom Igoe
 
 This example code is in the public domain.
 
 */

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin1 = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin1 = 3; // Analog output pin that the LED is attached to
int sensorValue1 = 0;        // value read from the pot
int outputValue1 = 0;        // value output to the PWM (analog out)

const int analogInPin2 = A1;  // Analog input pin that the potentiometer is attached to
const int analogOutPin2 = 5; // Analog output pin that the LED is attached to
int sensorValue2 = 0;        // value read from the pot
int outputValue2 = 0;        // value output to the PWM (analog out)

const int analogInPin3 = A2;  // Analog input pin that the potentiometer is attached to
const int analogOutPin3 = 6; // Analog output pin that the LED is attached to
int sensorValue3 = 0;        // value read from the pot
int outputValue3 = 0;        // value output to the PWM (analog out)

const int analogInPin4 = A3;  // Analog input pin that the potentiometer is attached to
const int analogOutPin4 = 11; // Analog output pin that the LED is attached to
int sensorValue4 = 0;        // value read from the pot
int outputValue4 = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:
  //Serial.begin(9600); 
}

void loop() {
  // read the analog in value:
  sensorValue1 = analogRead(analogInPin1);            
  // map it to the range of the analog out:
  outputValue1 = map(sensorValue1, 0, 1023, 0, 255);  
  // change the analog out value:
  analogWrite(analogOutPin1, outputValue1);           
  delay(5);  

 // read the analog in value:
  sensorValue2 = analogRead(analogInPin2);            
  // map it to the range of the analog out:
  outputValue2 = map(sensorValue2, 0, 1023, 0, 255);  
  // change the analog out value:
  analogWrite(analogOutPin2, outputValue2);           
  delay(5);  

 // read the analog in value:
  sensorValue3 = analogRead(analogInPin3);            
  // map it to the range of the analog out:
  outputValue3 = map(sensorValue3, 0, 1023, 0, 255);  
  // change the analog out value:
  analogWrite(analogOutPin3, outputValue3);           
  delay(5);  

 // read the analog in value:
  sensorValue4 = analogRead(analogInPin4);            
  // map it to the range of the analog out:
  outputValue4 = map(sensorValue4, 0, 1023, 0, 255);  
  // change the analog out value:
  analogWrite(analogOutPin4, outputValue4);           
  delay(5);    
}

Thank you for taking time to look at it.

:My board is arduino duemilanove with the UNO bootloader

That seems to me a bit non-standard - anyone else try this?
(sorry, I have only nanos and 2009s)

Anyone here could point me in the right direction about burning the bootloader inside the Mega 328? My only Available ISP is the AVR Dragon board i have.Or is it possible to burn it directly from the Arduino IDE?

Thank you guys i recovered my arduino.I was able to burn the boatloader with the AVR Dragon tool from inside AVR Studio and now it works properly.Good to have an ISP programmer around.