American Express, Capital One, Chase, Citi, and PenFed all issue some cards without foreign transaction fees, but you need to read the terms of your specific card to verify. To my knowledge all Citi AAdvantage cards are still subject to foreign transaction fees -and- the fee applies even if the foreign transaction is billed in US Dollars.
Any idea if the fee is charged by Visa or by the bank itself? From reading online, it sounds like Visa charges a fee, but then the bank increases that fee. Accurate?