Ok, your SQL should look something like:
SELECT CAT_LOOKUP.CATEGORY, COUNT(Maintman.someField) AS NmbOfCats,<otherfields>
FROM Maintman RIGHT JOIN Cat_Lookup ON Maintman.category = Catlookup.category
WHERE (Maintman.Date >= Begindate and Mainman.Date <= Enddate) or Mainman.Date Is Null
GROUP BY Cat_lookup.category
ORDER BY Cat_lookup.category;
Begindate and Enddate represent you selection parameters of course.
The result NmbOfCats will be zero for categories not used in (your selection on) Maintman.
You can construct this code in the Query Design View by pressing the Totals button (the Sum sign). This will insert an extra line 'Total', set this field to Group by for Cat_lookup.category, and to Count for some field from Maintman (e.g. the keyfield).