Are you burning the bootloader through the Arduino IDE or AVRDUDE? Also, you can try changing the programmer in the Arduino IDE to Parallel, select the Blink sketch and File -> Upload via Programmer to see if your Parallel programmer is working correctly. This will wipe out the bootloader, so you will have to reload the bootloader afterwards.
You mentioned "Atmega328.hex" for your bootloader file, where are you getting your this file? The Uno file is in \arduino-1.0.1\hardware\arduino\bootloaders\optiboot\optiboot_atmega.hex.