Personally, I always force through zero when I'm doing a method where I'm expecting to analyze something at a very low concentration, e.g., a residue-specific cleaning verification method. Then I assess the LOQ and LOD of the method and if a quantified peak comes in with a value lower than the LOQ I just report as < LOQ and if no peak is detected I report as < LOD.
My rationale is that for the method to be suitable for this type of application, the response must be zero when the concentration is zero. I don't care if it gives a better or worse r-squared value, I just declare in my protocol that I will force through zero and have an acceptance criterion of r-squared NLT 0.997 or something and if the results comply (as I know they will because I've tested it already

) I go ahead with it.
For an assay like a w/w assay of an API (potency), on the other hand, I never force through zero because whether the method is linear through zero is immaterial to its suitability to assess the quality of the material, as long as the preparation is within the range of the method. The preparation should of course always be close to a target concentration. I would just define a range for the method (say 50-150% of the nominal concentration of the smaple prep - ICH only recommends 80-120% for potency, of course, so that's overkill) and check linearity and range in my validation and that's it.
For a method in support of production where I might for example get column fractions of significantly varying concentration from zero to quite high I would personally take that on a case by case basis. If I expect to get some samples with low concentration and people are actually going to be curious about those numbers, I will try and force through zero and see if the r-squared is OK and if it is I'll go that route - simply because it is not enjoyable to explain to production why some sample apparently has a negative assay (because you're close to the intercept). If it doesn't take away substantially from the efficacy of the method, I'll choose to avoid that scenario.
Personally I never use any kind of weighting, not for any philosophical reason, I just haven't felt a need to and don't know a lot about it, so I think I'll hunt up Tom's article and see what he says!
Stephen