Oh, you do bring up a good point about how things did not turn out so well for Mary and John....and since John seemed to fairly easily change in his affections, maybe that showed Charles that people that age were too young to make these life-changing decisions. In one way, what Charles did helped prove Almanzo's love for Laura, since obviously Almanzo did still love Laura and helped her with the money even without her knowing. And if Pa's refusal for Laura to marry Almanzo for just two years did drive Almanzo away, then I think it would have shown that he did not love Laura enough to wait for her. As pa mentioned, there are likely to be a lot of bad things that a married couple would have to face. They could even be separated for two years (like if there were a war or something). So waiting two years to get married, especially when they were both still young, was not necessarily the end of the world although as Almanzo said, it seemed like an eternity.
Also, Almanzo said he wanted to marry Laura in one month....well, where was he planning for them to live? With his sister? Maybe that was common back then. But instead of pouting about having to wait two years, he could have said, "okay, I'll use that time to build us our own house and prepare for the marriage."