I know what you and others are saying and I find it more than obvious than Canadians should be first at jobs. However, I'm not sure how many of you have actual knowledge of how the program worked, I'm talking about the actual procedure to issue an LMO. The agreement that the employer had to sign, included: a) posting the job offer in 3 different media with the wage, which could not be less than the average wage in that particular area for that particular job (so can't get how the cheap labour and/or "they got paid 15% less than Canadians" came from), b) ensuring that no Canadians would be fired as a consequence of that TFW hire and c) that they'd be open to regular checks to make sure all the terms the employer agreed to were upheld.
I don't know how you see it but in my eyes, even if the program could be improved (as anything always can actually), it did cover all the bases everyone keeps complaining about. The fact that employers abused the program by not following those agreed terms are not because the program is not good but because the government and all relevant authorities were unable to actually make those checks and punish the employers who didn't comply.
In other words, when you make an agreement and someone cheats, punish the cheater, don't blame the actual agreement. Also, if you believe that a country the size of Canada with the economy it has and its current population, with its current growth rate, won't be needing foreign workers to keep up with this growth, then I suggest not only ending the program but kicking out of the country all current TFWs to see how fun it will get all over the country in no time.