I was a
travel agent for 28 years and heres my understanding of this problem.
If Expedia had incorrect details regarding free dining on their site and you have it confirmed on your invoice (ie it says somewhere that you DO have free disney dining) then they must honour that.
If Expedia have not confirmed free disney dining on your invoice then they do not have to honour that.
Whatever is confirmed as a service/facility on the invoice is correct and forms a contract between yourself and Expedia. Even if Expedia are acting as agents, your contract is between you and Expedia and therefore it is Expedia who are liable.
If they have confirmed incorrectly that you have free disney dining and you have this in writing as part of your confirmation invoice then it is up to them to make sure you get that. Thats whats in the contract so thats what you should get. It doesnt matter if its wrong, its not your mistake, its theirs so they have to fix it.
It will stand up in court too!
Also, I do not think that it is appropriate for them to cop out before departure saying that if theres a problem, it will be refunded on your return, thats just not good enough. You have a contract and are legally entitled to have that contract fullfilled.
Best of luck xx