From my understanding, most science/engineering phd programs in the US accept students with a BS. in fact, I -think- that is the most common approach and many get a PHd without an MS. The MS degree for the Phd candidate then becomes just a milestone degree or many don't even get one unless they discontinue the Phd.
That being said, I do see a lot of Phd's that have an MS degree.
There are plenty of good schools in canada that are in my time zone (PST) and, of course, many good schools in Europe - which I have traveled to extensively, but my personal situation requires me to stay here in the US. Maybe I could get into a program in Canada and go to the campus several time per semester but do my work at home? This would be the advantage of a research degree, in that I would not have to be onsite for classes, I don't know how common this approach is though and I would not simply want to get a phd from a "mail-order" online program either.