Below is the corrected query:
SELECT q1.CaseNo, q1.FeeEarner,
q2.Fees AS [Fees],
q1.Fees AS [Billed],
(q2.Fees - q1.Fees) AS WIP
FROM
(
SELECT *
FROM tblAllocations
WHERE AllocID IN
(
SELECT MAX(AllocID)
FROM tblAllocations
WHERE FeeEarner = 'KLW'
AND [Date] <= '2013-12-31'
GROUP BY FeeEarner, CaseNo
)
) AS q1,
(
SELECT UserID, CaseNo, SUM(Fees) AS [Fees]
FROM tblTimesheetEntries
WHERE UserID = 'KLW'
AND [Date] <= '2013-12-31'
GROUP BY UserID, CaseNo
) AS q2
where q1.CaseNo = q2.CaseNo