Midwest has always been reliable and honest for me. No problems ever.
The only thing I can think of is that you had items with stones or some pieces with low grade "sterling" that wasn't up to snuff.
My suspicion is your Mexican silver may not have been .925, but contained less silver. There is excellent, well made Mexican silver, but you probably wouldn't be sending that in to Midwest for scrap. Junk Mexican silver is heavy (gives the illusion of value) and is usually poorly crafted and contains silver, but is not sterling. If it was marked "Silver Mexico" and did not specify "sterling" or ".925" it was probably not sterling.
Alternatively, how do you know your scale is 100% accurate? I'm not sure how it's calibrated, but that's something to consider as well.
Midwest Refineries pays 90% of the amount of pure silver contained in your order for sterling silver (.925).
Your weight: 17.89 T oz.
Midwest Refineries and they say they netted 10.886 T oz.
17.89 oz
X
.925 (sterling is not pure silver, only 92.5%)
____
16.55 oz. pure silver
So there's 5.668 ounces not accounted for. Besides the one piece that was marked but not silver.
I suppose there are ways to test for silver the same way you test for gold, determining karat, maybe a scratch test? This way you could check your silver before you sent it.
I would ask about a possible error on their part, but they don't have the reputation they have by cheating people or making careless mistakes.
Sorry to hear about your experience. I hope you're able to find an explanation. Midwest is still the only one I'll trust with my scrap.