I've never "bricked" a WRT54G, but I've recovered them for friends and customers. In one case, it was attempting to upgrade with *BOTH* a wireless and wired connection to the router. They assumed they were doing the flash upgrade over the wired LAN, but because they didn't disable or disconnect the wireless first, the upgrade was accidentally performed via wireless. It hung at the end and trashed the flash upgrade. However, I made exactly the same mistake and the wireless flash upgrade worked just fine. Dunno.
Where I've had the most entertainment value is when switching firmware from different developers. For example, going from stock Linksys to Sveasoft Alchemy tended to make a mess of the settings. After the upgrade, the router appeared to be hung. The parameters were stored in a different part of memory and what appeared was a mess. I few power cycles and resets restored everything to reality and defaults. I suspect that if I had followed instructions and reset the router to defaults, this would not have been a problem.
One the local hacks like to juggle firmware and do custom compiles. He had it down to an art when one of his experimental builds "bricked" his router. So, I built him a JTAG port adapter to make recovery allegedly easier. He claims he's never needed it after this one accident. Most of the time, the "boot wait" feature is sufficient to allow a TFTP upload recovery.
The Sveasoft instructions also suggest returning the router to default setting before attempting a firmware update. After a bad experience with a flash update to a desktop PC, I like to run everything from a UPS just in case the power decides to die in the middle.
Note that I'm not an expert on WRT54G firmware juggling. I've only recently become involved in trying different firmware builds and systems. Such a question would best be answered in the numerous WRT54G firmware support blogs by those with more experience.
In addition to upgrading firmware via "wired" connection I disconnect or turn OFF other networked computers so they don't try to talk to the router during the firmware upgrade. Jeff, is that a good thing to do or not necessary? If that is a good thing... then to be extremely careful (paranoid) might it be good to also disable the wireless part of the router?