And why is it that when I start after a crash or reboot, it tells me it can't restore my session, but then when I click the button it does so without fail?
Because it's not actually restoring your session - it's reaching across the void between dimensions, piercing the paper-thin veil that separates this from that, and stealing the session from another reality.
The reality Firefox has reached in may differ only in the angular momentum of a single sub-atomic particle. Ever notice that sometimes the session you get back is not quite the same as the one you 'lost'? That, for example, one tab may have subtly different content, or that it's on the page you'd been on before you clicked the link? At other times, greater divergence between realities can more profound differences. My wife - then girlfriend - once borrowed my laptop after FF had crashed on me, only to be shocked by multiple tabs full of midgets being blown by ducks.
Lucky for me she understood that my last-second scream of "no, dont!" was simply meant to stop her from seeing I'd been idly browsing wedding rings, curtains, and Michael Buble CDs, and didn't hold it against me.
You wouldn't, however, know any of this - because the Mozilla folks have never provided a useful or detailed changelog.
If they had someone might have twigged that, rather than the problem leading to a solution, what has in fact happened is that the solution leads to the problem. Your session disappeared because Otheryou stole it; however, Otheryou's session disappeared because you stole it.
Causality is fucked up, and I blame Mozilla...