I've used the simple parallel port programming lead several times on 168 chips to burn the bootloader (from V15 of the IDE) with no problems, but when I tried to burn a 328 it failed to ID the chip. Thinking I might have a duff chip I tried another one with the same result, but another 168 worked fine.
After some head-scratching and googling around I came up with the following solution.
First I halved the length of the lead so it's now only about 200mm long, then I reduced the 220R resistor to 150R and the 470R ones to 330R. Finally I doubled up the ground wire and took it to two of the D connectors grounds.
It seems to work fine now - just thought others might like to know.