Ralph, I fear your observation of "Protected: 0001" is correct.
I connected my Olimex to my DM3058E and decided to test reading and writing to some "safe" unused areas. e.g. the 64k block at 0x201d0000 is nothing but 0xFF's and the blocks over 0x20200000 appear unused just random 0xF0 and 0x80's.
So I created a test file of 64k zeroes dd if=/dev/zero ibs=1k count=64 of=test.bin
I chose a few "safe" locations 0x201d0000, 0x20220000, 0x20310000. I could readmem 0x201d0000 0xffff /home/mac/dm3058/0x201d0000.bak and then flashmem 0x201d0000 /home/mac/dm3058/test.bin and it wrote and verified successfully. I then flashmem'ed the .bak file to recover that block.
Trying the same with the 0x2022, 0x2031 blocks I got verify errors and indeed nothing was overwritten on those blocks.
FWIW the hardware is the same, only difference is no LXI/GPIB board on the DM3058E.
So it appears I did get away with reflashing my firmware without knowing of this protection. There were no verify errors because the protected blocks had the same code, and wherever the corruption happened to be in unprotected blocks and was overwritten successfully. Damn.
We need to look into how to unprotect the flash. In the meantime you should be able to recover the brick by flashing your backed up firmware, just the first block should do as I don't think you got as far as flashing the 2nd.
As for the USB - ok its obvious, but have you checked for continuity from the socket to the mainboard? There's a narrow 5 way flatflex between them. Maybe yours is damaged?