Cocoon,
It really depends on your application and your future interests. For example, imagine situation A: The applicant has a low overall and/or BCPM GPA (assuming decent MCATs) and has no genuine interest in the broader aspects of healthcare. In this case, graduate level hardcore sciences (i.e. human physio, biochem, mol. bio., histo, etc) are much better indicators of whether you'll be able to handle a medical curriculum. The admissions committee will value an MS in the sciences alot more than your MPH degree. Plus you'll be far ahead of your classmates in med school b/c you'll know most of the material being covered, especially first year.
Ok, now imagine situation B: GPA is decent (3.4>) but the applicant is having difficulty gaining admission (once again, assuming MCATs are decent) and the applicant has some (or loves) public health. In this case, the MPH is priceless. It WILL set you apart from other applicants and it will open many doors for you in the future.
Ok, now imagine applicant C: GPA is needs to be worked on "AND" the applicant has interest in public health. In this case, I would choose the MS in one of the sciences first. You want to prove to the Adcom that you are capable. However, if you really want the MPH, you can always take one grad level science class alongside your MPH classes.
Personally, I needed work on my GPA and Im interested in public health so I did the one year program in Physiology at the Medical College of Virginia and now Im working on my MPH. Granted I had to postpone med school for another 2 years but IMHO I think the benefits will payoff in the future. Take care and good luck with your decision.
DOCTORSAIB