I've switched to running my from Agilent power supply and have confirmed that coming from a cold start the ESP-12 module(s) just don't like to run from lower than 3.3V. It's definitely more forgiving with soft resets but I still get a "failure" at least 1 out of ten times.
Not sure if it matters (or maybe it really does) but I'm running NodeMCU (NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4). What I've also found is that when the module doesn't boot properly it pulls over 300mA and many times I thought I was seeing ASCII junk in the terminal but it turns out it was actually error messages that were coming in at 115200 baud rate (I've been communicating at 9600 normally). It looks like the chip is getting a watch dog timer error. Here's the messages that I see:
ets Jan 8 2013,rst cause:4, boot mode:(3,1)
wdt reset
load 0x40100000, len 28740, room 16
tail 4
chksum 0xcd
load 0x3ffe8000, len 2888, room 4
tail 4
chksum 0xbc
load 0x3ffe8b50, len 15252, room 4
tail 0
chksum 0x4f
csum 0x4f
rì