I had the exact same problem as OP.
What the recovery is trying to do is install a D2ATT rom onto a D2ATT phone which the Canadian carriers change to D2CAN in their build.prop file.
1. Find your build.prop file in system/data and make a backup of it however you which. I made a copy and just called it something else. Go to your build.prop file and change any instance of "d2can" to d2att. When I did this there was two. One on build.product=d2can and one on build.device. I just checked and CM changed some of the settings around and now there is just one.
Save the file and it'll ask you to reboot.
Now anything you download will think it's an actual at&t device (which is good).
The standard method for getting TWRP on your device is through goomanager but samsungs knox gave me issues trying to install a custom recovery.
2. Get the app "Recovery Tools" Or, specifically [ROOT]Recovery Tools - Flasher by DSLNEXUS.
and download the recovery file here http://www.teamw.in/project/twrp2/104
Download the .img file via dd into the root folder of your phone.
Open up recovery tools and select flash recovery and select other from storage. You CAN select TWRP and have the app do it for you but sometimes it uses older versions. I chose "other from storage" then you select the twrp file you downloaded.
3. At this point you should be able to boot into twrp and flash from there. Don't forget your gapps.
I spent months on and off wracking my brain trying to figure out how to do this on my phone without bricking it. I did it this way and it worked without a hitch.