ATMEGA328 Programming error

I'm not sure if I have destroyed my ATMEGA328, but I'm getting theese errors every time I try to program it

avrdude: verification error, first mismatch at byte 0x0002
0x61 != 0xe7
avrdude: verification error; content mismatch

I don't get any errors if I change the ATMEGA328 with a ATMEGA168.

The errors started to occour after I fried a DS18S20 at a mistake...
I had wired the VCC and GND wrong, so the VCC was connected to GND, and GND was connected to +5V

Have I destroyed my ATMEGA328, or is it a bootloader error which I can fix?
I don't have an ATMEGA programmer, I only have the Arduino Duemillanove with it's original ATMEGA168, and then the broken ATMEGA328...

It sounds like the chip could be fried. Is the error message always the same (i.e. does it always have the same numbers)?

I've had a few fixed with a full chip erase and reflash.

Not sure how to tell beforehand - we just do it and hope it works.

@mellis
Yeah, it is always giving me the same error!

@BRuTuS
So you have a real AVR programmer? As I thought if it was possible to program other AVR's with the Arduino?

We have a few.

Usually with the Arduinos to be honest we just use this one:
http://www.hvwtech.com/products_view.asp?ProductID=651

If it's the raw chip, we will generally use one of the STK500s we have:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2621773&keywords=stk500

We also have a Dragon, however he doesn't get used often at all.