Well I've got into cmd line AVRDude territoy now.
Using thisavrdude -b 19200 -p atmega328p -C ..\etc\avrdude.conf -c stk500v1 -P com2
I'm getting
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
(if I remove the power lead from my Uno to the breadboard I get
avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude: initialization failed, rc=-1
which I think shows that I've got some of the wires corrected properly)
So I got very brave an attempted to force upload a new bootloader
C:\Apps\arduino-0022\hardware\tools\avr\bin>avrdude -b 19200 -p atmega328p -C ..\etc\avrdude.conf -c stk500v1 -P com2 -F -U flash:w:optiboot_atmega328.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 14
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "optiboot_atmega328.hex"
avrdude: input file optiboot_atmega328.hex auto detected as Intel Hex
avrdude: writing flash (32748 bytes):
Writing | ################################################## | 100% 0.56s
avrdude: 32748 bytes of flash written
avrdude: verifying flash memory against optiboot_atmega328.hex:
avrdude: load data flash data from input file optiboot_atmega328.hex:
avrdude: input file optiboot_atmega328.hex auto detected as Intel Hex
avrdude: input file optiboot_atmega328.hex contains 32748 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 37.58s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x00
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK
Which as you can see failed miserably