1)
Are you sure you want to leave Canada? There are a TON of awesome startups with a lot of opportunity in Canada. Maybe you just need to relocate to a hub such as Vancouver, Calgary or Toronto? Also, did you know that the Eastern provinces have some crazy tax and startup capital advantages for starting your own tech / net related business?
2)
Your best bet would be to gain employment by a company that has offices in both the U.S. and Canada. Then, with the help of your company, you could obtain a transfer visa:
http://www.consular.canada.usembassy.gov/usa_visa.asp#transf...
Many companies with offices in both Canada and the U.S. aren't in the "startup" category. You could either accept working for a larger company or find a (somewhat more difficult) U.S. startup that is willing to start a Canadian branch for you. Opening a U.S. company in a province such as Alberta has a number of advantages beyond just employing someone as talented as you are.
3)
Some certs qualify you for a "specialized" degree. Since you didn't go the education route, going the cert route might not be a bad idea if you make a wrong turn anyway. Obtaining a high level cert (even quickly) may be an easy way in.
http://www.consular.canada.usembassy.gov/nafta.asp
Specifically:
"Computer Systems Analyst
Baccalaureate or Licenciatura degree; or Post-Secondary Diploma or Post Secondary Certificate and three years' experience."
Note the Post Secondary Certificate in there.
4)
Contract.
You can "contract" for a U.S. based company, work there for months at a time if required and not put a full-time strain on the startup. Reliable, competent off-site employees and "virtual offices" are the new black in startup life.