I think your DH is more at fault here than your MIL!
I do think it's a bit weird that she'd be in your house for 2 hours and not mention it! As for anyone telling you 'that's final' I would be telling them where to go in no uncertain terms!! I would just ask her can she please give you a bit more notice when she's planning on inviting you for dinner