The Arduino SdFat library has an example sketch called SDFormatter.ino. It actually erases the entire card. Of course you would need a microSD module to use that. Another alternative might be if you have a camera that gives you the option of doing a low-level format. I think that is also a full erase format. I think either option may let you get around the limitations of an operating system and card reader.
There is no magical low level format that Arduino or camera could do. I have no knowledge of Mac but on Windows you could use Diskpart clean to delete MBR partition table or Diskpart clean all to do secure erase.
I found a description of diskpart's secure erase on winaero.com:
> The "clean all" command fills every sector on the disk with
> zeroes, so information can't be recovered. It completely
> deletes all data stored on the disk, all its partitions,
> folders, files etc - everything. The operation usually
> takes a lot of time, so be careful and patient.
That's the same thing the SD Formatter from the SD Association does on its Overwrite format, and it takes forever. But the Arduino option actually erases the card's flash memory. Diskpart leaves all the sectors flagged as occupied by data (all those zeroes), whereas SdFat leaves them flagged as erased (not needing to be erased before writing data to them). Cameras do the same thing, I presume to maximize write speed for burst mode or video. And the low-level erase goes very quickly.
I think the difference is that a computer is dealing with an intermedate SD reader and its controller, and there's no command the computer can give to the SD reader that would cause it to erase the card. My understanding is that even a built-in SD card slot is actually a reader connected to the USB bus. But the Arduino and the camera are directly connected to the SD card, and can send all of the low level commands the card's controller will recognize, including the command to erase blocks of sectors. Erased sectors will read back as either all zeros or all FFs, depending on how the card is designed, and there's even a command to make the card report back which value it uses.
Since westfw's problem appears to be that he cannot write to the card, diskpart may work no better than what he's already tried. And I think it's at least possible that a low-level erase (an actual erase, not an overwrite) might work. Of course if the card is just not able to write, then nothing is going to help. But if he has access to a camera with a "low-level" formatting option, it would only take a few seconds to give that a try.