Another great card to consider is the RBC Platinum Avion.
It has a hefty $120 annual fee, but every dollar charged to the card earns 1 RBC Point. At any time, you can convert RPB Points into BA Executive Club Miles (or even Cathay Pacific Asia Miles) at a ratio of 1:1.
I know, so far it doesn't sound overly impressive. However, the true benefit of the card lies in the fact that there's a signup bonus of 15,000 RBC points -- and, twice per year (on average), RBC and BA run a 50% bonus promo. So RBC Points can be converted to BA Miles at 1 RBC = 1.5 BA. It's definitely worth it if you put a lot of transactions on your credit card, and don't carry a balance (as the interest rate is 19.5%). ^