Actually as an engineer myself i was testing the board to do spot checks on code I am working on for my own Cortex-M3 board for specific application.
Holding down the reset is the only viable option to try and get this in to a mode which any PC will recognize under any OS. However, having done so numerous times prior to posting I can tell you this is a state which has not been planned for.
The code which was loaded was scmRTOS_test by Igor. This worked just fine. The additional step I took was to use the device as temporary storage to move a zip file (zipped source code) to another PC. So the mbed flash contained the scmRTOS_test.bin file, a source.zip file containing my code I was moving to another PC to import to the compiler online. The source zip file was about 768K. Clearly under the limit of the device.
However, the combination of having the scmRTOS_test.bin, mbed.htm, and source.zip created an issue which does not allow any PC to see the device as a USB Drive. All that happens is scmRTOS_test runs each time. If you look at scmRTOS_test it has no local file system handling so should not be causing the issue. Likewise, when running scmRTOS_test the device was able to be mounted since I was able to copy the source.zip file to it.
This is a situation which was not planned for. There are many circumstance where one would want to move a file to the device along with a bin file such as in logging, configuration, or analysis data.
The mechanism for moving a program to the device is certainly easy and has merit, but the implementation is a bit flawed given the condition of the board with just such a simple set of steps. It would be nice to see an alternate way to restore a board to get firmware on it for just such a situation.
The only resolution I see is for mbed to replace my board with a new one and then take my board and review the condition under which it is operating to make adjustments to their bootstrap and mitigate the issue from biting other users.
UPDATE:
Chris is going to ship me a new one and I will send the board back for a postmortem since it could be possible that the FLASH has failed on the device. The scenario I described is something which others do as far as moving files around so seems more likely what Chris described as a possible FLASH memory failure.
So the mbed arrives today so I can use as my platform for quickly testing units of code before pushing to my primary board. Just to test this thing loaded up an scmRTOS example from the public repository. Guess what, runs fine but never seen by Linux, OSX, or Windows as a usb drive after loading the scmRTOS program example out there.
This tells me there is a serious flaw and a known defect since the "dead mbed" issues is known and document as per this site.
I would like to see the support guys some up with a solution to this as it is quite obvious there is a flaw in the bootloader/bootstrap code and not the ARM code which is being run on it uploaded by the user. Especially when it is the mechanism (the lets trick the PC in to recognizing this as a usb drive) that is the issue.