So, just to summarize, there's no way to burn a bootloader on an atmega168 using the arduino board?
You can burn the bootloader onto an Atmega8 or 168 using the ICSP pins, but you will still need an external programmer.
The Arduino design has always called for an external programmer to burn the bootloader onto the chip.
This is a basic, industry-wide fact of how most of these microcontrollers work: they almost always need a programmer to apply the correct programming voltages and signals. Using a bootloader is one way to avoid using a programmer... but of course you have to burn that bootloader first with an external programmer.
I actually just burned a couple of Arduino boards with ATMEGA168's on them. It was easy once set up, all I needed was an AVRISP mkII programmer, and AVR Studio 4. This was on a MacBook Pro, running Windows XP in the latest release of Parallels workstation. Works like a charm.