It is important to remember the purpose of linear regression - to fit a mathematical model to empirical data, not the other way around.
If the regression fit says that the data don't go through zero at the intercept, then they don't go through zero!

That tells you something about your calibration system.
If you are getting negative values from a calibration curve based on empirical data, then your regression line is not fitting the data properly. Forget r-squared; it's not always a good indicator of calibration quality. Look at zero intercept and residuals.
If your intercept is not different from zero, then congratulations; you probably have a good calibration system. But why would you then recalibrate with a forced intercept? You already have your system calibrated; why do it twice?
And finally, don't forget that you are not supposed to report values outside the range of the calibration standards. It is certainly true that many curves will generate negative values very close to the intercept, but if this is below your lowest standard, then it is "not detected."