The thinking, rightly or wrongly, is that basic health care should be a right and not a privilege. By creating a two tier system the fear is that first it will become more like a commodity with the rich getting better case than the middle and lower class and also that there will be a perception that better doctors will migrate to the private system. I support universal basic health care and the system in Canada for all its faults and waiting time etc works reasonably well. As you and some have pointed out if you have money you can go to the states and many people do.
The problem with going to states instead of having better private health care in Canada is that:
1) Best doctors will move to states for higher wages instead of getting higher wages in Canada in private hospitals and paying Canadian taxes
2) People who will go to states to pay for their healthcare will support their hospitals that employs lots of people, not only doctors and nurses. Hence, less jobs will be created in Canada
3) Some people will be tired going to states for medical treatment and will simply migrate there. As long as they will not be tax residents of Canada, they will not pay taxes in Canada (and it is a lot of money even if their income is from passive investment)
It is like: we will produce only economy-range cars and not luxury cars, because most people do not want luxury cars anyway. If people want luxury cars, they can buy them in the U.S.. The problem is that yes, people can buy them in the U.S., but it is the low-income people who would be otherwise employed in manufacturing and selling them will lose. So, obviously, it is better to produce both
The reason why some people object two private health care is simple envy that rich people can get better health care here (as if going across the border to get better care affect anything other then a simple inconvenience for people who has to do it and less spending made in Canada). It is "I do not see it, hence, it does not exist" attitude.