I was in Canada over New Years and used both my SPG Amex and my British Airways Visa. I paid $168.00 CAD at the Westin with my SPG Amex. My converted cost was $165.19 + $4.46 foreign transaction fee for a total of $169.65 USD. If I used the exchange rate I was charged for the same date on my no fee BA Visa, the same charge would have cost me $165.28 USD. The difference would have been $4.37 or roughly the amount of the foreign transaction fee.
This little comparison would suggest that the no fee BA Visa isn't making up the difference by charging a less favorable exchange rate.