I always amazes me how shopping cart suites ignore the spread
Some questions:
1) Can we change what server is used for auto-currency updates?
2) Can we define a backup server?
3) Can we define some limits in case the auto-update makes some nonsensical value (ie. puts the euro at 0.00001 USD)?
4) Can we define an adjustment to account for the spread? A simplistic mechanism is like the one Zen Cart uses, where you can take whatever value the server gives and "pad" it by a user-defined rate. So if Yahoo says 1 USD is worth $1.25 CAD, our stores prices are shown as 1 USD = 1.25 * 1.05 = $1.31 CAD? Otherwise a shop owner is forced to lose money each and every time a customer checks out in a foreign currency. You can't possibly thing the banks give you the rate Yahoo says! Zen Cart forces a one-size-fits all padding. I would suggest a per-currency value (with a default if owner wishes) because some currencies have higher spreads than others.
I actually did a lot of currency-related extensions with Zen Cart. If I can figure out AbanteCart's extension system I'd be happy to contribute here... but want to make sure I'm not missing something already available. Also, extensions of this nature *probably* require core code modification... but I haven't taken a close enough look at your system to know if that's the case. It would be nice to know that the admin would be open to changing the core on this rather than relying on extensions anyway. Relying solely on Yahoo is... flawed.