All of your comments about Vancouver are true, but none of them has anything to do with whether it makes a great place to do a startup.
People say Vancouver is the best place to live, but I'd rather live elsewhere, Portland or SF come to mind.
I personally wouldn't put an employee under a non-compete - a) because they tend to be unenforceable and b) I wouldn't work under such a contract myself.
http://www.zvulony.com/non_compete.html
This is upheld in other articles that I've read that are more recent:
http://www.toronto-employmentlawyer.com/law-advice/employmen... http://blogs.hrhero.com/northernexposure/2008/10/14/noncompe... http://www.brazeauseller.com/articles/29/12/2008/245.aspx
http://www.zvulony.com/non_compete.html
This is upheld in other articles that I've read that are more recent:
http://www.toronto-employmentlawyer.com/law-advice/employmen... http://blogs.hrhero.com/northernexposure/2008/10/14/noncompe... http://www.brazeauseller.com/articles/29/12/2008/245.aspx
It's also easier to get foreign workers, generally, into Canada, so you have your pick of the local workforce, as well as the rest of the world (even Americans!).
I've worked for a startup in Vancouver that took advantage of all the above. Vancouver is one of the best places to live in the world, period, and it's especially great for raising kids or if you're into outdoor sports. So it has its charms even if you already work in a startup hub like San Francisco. You could probably do something similar for Montreal or Toronto, although it would be a harder sell. And the startup would have to be pretty hot or pursuing a unique niche.
If opportunities were equal, there would be very little reason for a startup to choose Canada over the USA. However, since the USA seems determined to shut the door here, Canada can take advantage of that.