Have you tried PennTrade? They accept foreign accounts, including non-resident aliens.
Other link that may be interesting for you:
Canadian Securities Regulatory Requirements applicable to Non-Resident Broker Dealers, Advisers and Investment Fund Managers
Even large brokerage firms and banks such as Fidelity and Wells-Fargo in many instances no longer want to deal with non-US resident clients through their US offices. Often there is little in the way of explanation, just a letter in the mail or a phone call from a broker who is following instructions and doesn't really understand the issue.
So the problem exist not only in Canada, in the USA too.