Sorry, but you are wrong.
Capital One does not charge any fees, foreign or other, anywhere in the world. Check it out.
Capital One 360, their banking branch, is the same way. If you don't use one of their Allpoint ATM's, you will incur a fee charged by the bank who's ATM you use. The amount that you allowed to take out is what your bank sets, not the bank whose ATM you are using. At Santander yesterday, the fee was $1.81US. The fee charged has a cap that is set by the Mexican government, and it is very low, something like 31p.
Credit cards and ATM cards give the very best rate available internationally.