Never sign a check until all other fields are filled in. My Canadian bank is still looking into the mess, but how should this have been handled by the American's bank?
I'm kind of on the other end of this problem a lot in that I receive checks from a Canadian company's USD account, which then have to be taken into the branch instead of deposited at the ATM since, as I am told, the routing numbers are different and even though it's USD-denominated, it's still a Canadian routing number, so the bank's automated deposit systems see it as Canadian-flavor anyway.
Canadian check to US bank.
To clarify - it was unquestionably understood by the American and I beforehand that Canadian funds would be sent and that the currency exchange would be covered. Not Canadian" is meaningless on the check both because you didn't write it and because the proper way to indicate a US funds check is to write the check in USD rather than dollars which are assumed to be Canadian dollars.
Travelex travelex. If its a Canadian Bank, and doesn't state US funds explicitly, my understanding is that it is Canadian funds. My bank refunded the entire amount initially, but I'm being told that might be reversed. Make sure that you put a decimal place in the proper spot.