I believe there is a restriction on transferring Starpoints earned "primarily" with a
Canadian credit card to Aeroplan. I suggest you ask Starwood before making the transfer from Diners Club, otherwise you may end up with a small amount of Starpoints. You will not be able to transfer them back to Diners.
Bear in mind that you do not necessarily need to fly on the airline operating the program to make a transfer worthwhile. Most airlines belong to one of three alliances: OneWorld, SkyTeam or Star. Air Canada is a Star Alliance member. Miles held in one Star Alliance frequent flyer program
cannot be
combined with miles held in another program, but they can be redeemed for travel on any Star Alliance carrier. This means you might be able to transfer to SAS or Thai and redeem for travel on Air Canada, but you would need to research the terms and requirements of those programs to understand if 20,000 is sufficient for a cost-effective award.
You might also look at Alaska Airlines program. Alaska is not a member of any alliance, but instead has partnerships with a number of individual airlines described here:
http://www.alaskaair.com/as/mileagep...rs_Airline.asp