US consulars don't give non-immigrant (except K/V) visa stamp on Canadian passports. So even if you go to the US consulate and apply for a H1 stamp, you won't get one. ---Just like US born kids to Chinese parents in China when they present a PRC passport before VO asking for a US visa, US consular will not issue US visa stamp, but issue US passport instead (unless you renounce kid's US citizenship at the consulate on kid's behalf, but kid can still get it back after 18).
Also, when you enter US port of entry wanting a H1 status, you should ask for it. Because if you don't ask, they still will let you in but you won't be in H1 status officially. So ask for H1 I-94 for the record keeping purpose. ---Just like those who get a new different visa in Mexico (say was F2, but get F1 stamp in Mexico) and reenter, he needs to ask for F1 I-94 to start his F1 status, because if you don't ask, boarder officer just look at your F2 I-94 and let you enter. And you will still be in F2 status, not F1.