Yes, loading a program using icsp erases the entire chip which includes the bootloader - but it leaves fuses intact. This just reinforces my statement that a “board detector” is pretty meaningless troubleshooting tool. Chip doesn’t accept a program? A $3 usbasp, 30 seconds in the IDE and you’ve got a known good bootloader installed. There is no good reason to avoid this step, it’s no different than compiling and downloading a new sketch.
Your hfuse setting is different from what I posted because you’re dealing with an ancient bootloader. I stated I was using Optiboot, which is the the current BL for the Uno which gives you 768 bytes more program space over the older BL in your old Uno.
You have two unknowns, the breadboard and the serial adapter. Put the known good Uno ‘328 in the breadboard and one unknown is eliminated. Try the CH340G adapter. If it doesn’t work, elimate it with this arrangement:

Of course you need the bypass caps, crystal and load caps not shown, I’m just using the image to show how to use the Uno’s serial adapter, a known good piece of the puzzle. If that doesn’t work, fix your breadboard. If that combination works, let me know and I’ll download 1.0.5 and test with the older bootloader in that image and the CH340G.