I am also a Canadian, 4th year US allopathic med student, and have recently matched in internal medicine with an institution that will give me my H1B.
I agree, even for Canadian who is USMG, you are not on the same footing as most native AMG's because practically speaking you can ONLY take H1B - Canada screws you over for J1 sponsorship, and if you get it, congratulations, you are screwed too. Basically that cuts my programs in 1/2 (about 50% of hospitals will only do J1, the other half will give me an option of H1B or J1). Hospitals that dont sponsor J1s, no matter how good they are, you can't match there. I have turned down categorical interviews at elite institutions such as Wash U, UCSF, UTSW, UCSD and such, because their insistance of non-H1B sponsorship. Dont waste your time and money traveling and interviewing there, you JUST CAN'T TAKE a J1.
But on the other side of the flip, make sure you call every program's coordinator (after you get an interview invite) and ask them nicely if they will do H1B, and explain to them your situation as an USMG rather than IMG (which most will stick with their J1 only rule). There are at least 2 programs that stated "J1 only" on their website agreed to give me H1B after I explained to them my unique situation.
The bottom line is, if you are trying to match at popular, medium/low competitive specialties (FP, IM, peds, anesthesia, psych, etc) and you are US grad, you should be able to get H1B no problem. Anything more competitive you will have to be damn well qualified, and be damn sure the program knows what to do because those competitive programs dont usually deal with visa issues too much, as they usually match the best of the US grads anyways.
NOW, if you are Canadian IMG (ie. Carib, Aussie,etc) your road will be a lot more difficult than the average IMG because again, as a Canadian, you can ONLY take a H1B, and as opposed to the US grads, you dont have the negotiation power of the US-awarded diploma. If you decide to attend an international school, especially one that has a negative connotation for taking USMG's (ie. the carribs), you better keep the above in mind. The key to securing H1B is 1. ridiculous grades, like try to get honor or A's in all med school classes, 2. ridiculous board scores. I am talking at least 230, 240+ if possible - lots of successful IMG's have 99/99 step 1/2 scores - you are competing with the boatloads of Indian grads who have these kind of scores, who is applying to residency for the fifth time, and would gladly do free labor, sell their soul, and most importantly, take a J1, to get that categorical program. Why should a program take you and your H1B-only problem when they have boatloads of these people will be happy with a J1? and 3. good letters in US clinicals.
It can technically be done, but it's hard. Many of the FMG's you will run into are either American citizens who have no visa problems, or those from other countries, which their country will write them that sponsor letter for them to take a J1 which we as Canadians dont have. Applying to residency as an FMG is hard enough as it is, add to that H1B only? Your chances are about as good as the chance of hell freezing over. You can maximize your chance by doing the above, but there is ABSOLUTELY no guarantee. And with the kind of tuition/fee you pay to go to one of those offshore schools, wouldn't a guarantee be nice?
The only real guarantee is a US MD or DO school. I would suggest trying to study hard, do a post-bacc if you must to improve your GPA and nail the MCAT's and try to get into a US MD school, while apply to some DO schools as backup. I know it sounds bad to us Canadians, but DO in the US is a valuable degree that basically leads to the same licensure as MD's. Yes you pay a lot, but still less than any offshore, and your future path is a clear striaght-ahead after you're done. In your situation, 3.7+ undergrad GPA from a major Canadian institution coupled with 31+ MCAT and some EC's should give you enough numeric competitive edge to secure at least a DO if not an MD school admission in the US. Make sure apply to a gazillion places (I would suggest at least 25 private MD schools and 5 DO programs as back-up) and hope good things will happen.
~Renovar