Only Show Data For Min(woID)
Here's another alternative which admittedly has an additional cost of ~0.005 but I find much easier to follow.

;WITH i AS 
(
  SELECT Customer, dolamt = SUM(dolamt)
  FROM @info GROUP BY Customer
),
w AS 
(
  SELECT Customer, woID, companycost,
    rn = ROW_NUMBER() OVER (PARTITION BY Customer ORDER BY woID)
  FROM @WorkOrders
)
SELECT c.Customer, 
  [Work Order ID] = COALESCE(w.woID, 0),
  [Company Cost]  = COALESCE(w.companycost,0),
  [Total Amt] = COALESCE(CASE w.rn WHEN 1 THEN i.dolamt END,0)
FROM @Custs AS c
LEFT OUTER JOIN w ON c.Customer = w.Customer
LEFT OUTER JOIN i ON c.Customer = i.Customer
ORDER BY c.Customer;