As this flight originated in the European Union you are fully entitled to reimbursement of all your reasonable expenses and to compensation for a cancelled flight
regardless of the reason the flight was cancelled. This regulation has been hotly disputed by the airlines, particularly as the disruption caused by the volcanic ash was outwith their control. However, the EU governments have insisted that the airlines honour their obligations. You are absolutely entitled to compensation.
Write again to Air Canada. Tell them that you are seeking reimbursement until EU Regulation 261/2004 for the portion of the flight which was cancelled (Frankfurt to Canada). As this flight originated in the EU the regulation applies. Air Canada is not exempt from this regulation. It applies to all airlines flying into or out of the EU regardless of the nationality of the carrier. Advise them that you will complain to the competent authority in Germany for enforcement if they do nto reply satisfactorily within 30 days. Ask for your reasonable expenses and compensation.
Here is a link to the competent authority in Germany where you can file your complaint if Air Canada fail to respond appropriately. I understand that Germany accepts complaints in English.
Let us know how you get on.
http://www.lba.de/EN/CustomerService...er_Rights.html