A British USD bank account is not integrated into the US ACH system.
Are Canadian USD accounts?
i.e. Are they able to receive USD from US companies without high charges and hassle.
Every major Canadian bank is able to receive USD, you just need to open (apply for) USD checking or savings and write down the number.
There is a incoming wire charge of CAD 15 to 25.
If you convert USD to CAD at a big bank, hidden charge is another 0.5% to 1%.
There are certain exceptions for cross border accounts, such as RBC Bank (USA) and BMO Harris Bank (USA).
If the sender only takes ACH then better open such cross border accounts.
No, Canadian bank accounts (even ones denominated in USD) are not part of the ACH system. You can, however, use a bank that has both a US and Canadian presence that gives free wire transfers between your USD accounts in the US and Canada. Do your ACH transfers using the US account and transfer the funds to Canada by wire.
TD Canada Trust and TD Bank does this, for example.