Since it's silly that sudo (essentially 'root') can't access the device with dd it would seem that the error message "Permission denied" does not actually mean that root has a permissions problem. iow it's a red herring.
Double check that the device is not still mounted - run the unmount command again as per step 7 and double check that it really is unmounted but still accessible as a device.
A common problem I've had with making USB boot devices under linux is an inconsistent partition table. Delete the partition table completely and remake it, then create the new new partition as FAT and format it for good measure. The errors I get under Linux don't make any more sense than this one, so I'm hoping that this is what your problem is.
I'll have a shot at removing the partition table under OSX. Note that I am a linux user, so I'm relying on the fact that OSX is similar, and that the same thing seems to be found for OSX on a google search.
First we'll use dd to erase the partition table on the USB drive. In a terminal type:
sudo dd if=/dev/zero of=/dev/disk4 bs=512 count=1
This should overwrite the first 512 bytes of the device, thus destroying the partition table. Instructions I found here seem to suggest
sudo dd if=/dev/zero of=/dev/disk4 bs=1 count=1024
for OSX however the difference is minor and I believe the end result should be the same. As for any dd operation make sure you have the correct partition as there will be nothing left of the data on the device after you press enter.
Next I believe you should use disk utility to to recreate the partition table, and a new partition, and format it FAT. I'm a linux user, so I'm afraid I can't be more specific but I believe that the disk utility should complain that that there is no partition table and either make one for you, or prompt you to do so.