Have you tried PennTrade? They accept foreign accounts, including non-resident aliens.
secure.penntrade.com/NPT/
Other link that may be interesting for you:
Canadian Securities Regulatory Requirements applicable to Non-Resident Broker Dealers, Advisers and Investment Fund Managers
lexology.com/library/detail.aspx?g=5f4bb9b1-98f7-4862-b9a3-927e550ce675
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.
expatfocus.com/c/aid=1192/articles/financial/why-is-my-us-brokerage-firm-closing-my-account/
So the problem exist not only in Canada, in the USA too.