Make it simple
SELECT InsuranceID,
Round(Sum(Case When Month(BatchDateTime)= '07' then (Amount * -1) Else 0 End),0) AS July,
Round(Sum(Case When Month(BatchDateTime)= '08' then (Amount * -1) Else 0 End),0) AS August
FROM BarCollectionTransactions
WHERE Type = 'R' and Month(BatchDateTime) in ('07','08') and Year(BatchDateTime) = '2010'
GROUP BY InsuranceID
ORDER BY InsuranceID