L Led Flashes Constantly

This was posted on the Adafruit forums as well, and I originally posted this answer there.

Apparently it worked!

There were certain circumstances where the watchdog timer could be enabled by a sketch in a mode incompatible with the (older) bootloader, which led to the Arduino continually resetting itself, starting the bootloader, resetting, etc. This causes a flashing L led and inability to upload. People swear this happened to them as a result of running out of RAM or other software bugs, even though the watchdog is “protected” and it ought to be difficult to do; the exact mechanism was never determined.

A fix is to start up the Arduino from power-up while loading a new sketch. Unplug the arduino from USB, then plug it back in while holding the reset button down (this prevents the sketch from running after the powerup.) Set up the IDE to upload a new, known-safe, sketch (still while holding the reset button), hit the upload button and release the reset switch at just the right time so that the new sketch is loaded on the initial powerup/reset (rather than an auto-reset.)