Incorrect sum when I join a second table

One way of avoiding this (subject to RDBMS support) would be

WITH R
     AS (SELECT *,
                Sum(HeadCount) OVER (PARTITION BY date) AS SumHeadCount
         FROM   Report)
SELECT R.date,
       SumHeadCount,
       Sum(P.Quantity) AS SumQuantity
FROM   R
       JOIN Production P
         ON R.ReportID = P.ReportID
GROUP  BY R.date, SumHeadCount
ORDER  BY R.date 

This may be helpful

SELECT Report.ReportDate,
       Sum(Report.HeadCount) AS SumHeadCount,
       ProductionSummary.SumQuantity
FROM   Report
       INNER JOIN (SELECT ReportID,
                          Sum(Production.Quantity) AS SumQuantity
                   FROM   Production
                   GROUP  BY ReportID) AS ProductionSummary
         ON Report.ReportID = ProductionSummary.ReportID
GROUP  BY ReportDate
ORDER  BY ReportDate