I just spent a few hours getting to the bottom of this one. The solution is mentioned in a few places in these forums, though not obviously found from the symptoms. (Which is why I’m creating this new topic)
The clock speed specified in boot/config.txt is too high for the Pi-2B.
The board will boot, and proceed with startup process, but at some point things will get flaky, or it may hang etc. etc.
Solution:
Edit config.txt and change arm_freq=1200 to arm_freq=900 (or 700 if being very conservative).
Probably distributing a version of config.txt that uses conditional sections as mentioned here would avoid the need for editing.
Meanwhile, it might be good to mention on the upgrade page that this edit is required if you’re using an older (V2) Pi.