(B) is consistent with what you say, that one can still lose weight but gain significant amounts of body fat, but notice that (B) doesn’t actually say that; (B) says that you can eat a lot of protein and still gain body fat. It’s true that the argument tells us that the high-protein group lost weight, but that’s true *as a group*; it doesn’t suggest that it’s going to work for everyone. I’m always suspicious of the word “many” on strengthen/weaken questions. Here’s another way to look at it:
You probably think that smoking causes cancer; however, it’s true that “many” people smoke and don’t get cancer, and “many” people get cancer despite never having smoked. Neither of these facts, though, probably weakens your belief very much. Probabilistic arguments can withstand (a lot of) counterexamples. (B), even if true, is incorporated into the passage, i.e.: “Many people who consume large quantities of protein nevertheless gain significant amounts of body fat; despite that, however (we can’t fight the premises), people on a high-protein, low carb diet lost more weight than the people on the low-protein, high carb diet.” The high carb diet doesn’t have to be 100% successful to be the most effective method. (B) is CONSISTENT with reasoning that would hurt the argument, but (A) weakens it more directly.
Hope this helps; it’s a subtle point that you raised, and I would certainly agree that (B) is a very attractive wrong answer. Some questions are hard or easy based on how good the second-best answer sounds.