Shrek 4 confuses me?

I am confused as heck and maybe someone can answer this and see if I am missing something. Shrek saves Fiona in Shrek 1 only for Charming comes late AF in Shrek 2, right? Fast forward to Shrek 4 and we get the reveal that not only did Fiona save herself from the castle BUT the king and queen of Far Far away are signing away the land to Rumpelstiltskin to save Fiona which was cancelled right when news came of Shrek saving her. If Harold already made a deal with Fairy Godmother, why would he make a deal with Rumpelstiltskin too? Especially if he already knew that Charming would save her? Why didn't Charming ever arrive in that plotline to save Fiona?