The herd of cattle had grown to 30 head. Why didn't the writer write 30 heads?

Dave Phillips says: In BrE we would always say a head of cattle (meaning the whole herd) but we wouldn't give a number of those head/heads.

While I would concede that the usage "X head" is not unknown here, the use of 'head' as a synonym of the collective noun 'herd' is probably more common in the UK.

........

Because 'cattle' is a plural noun with no singular (though it almost grades into a mass noun notionally in constructions such as 'raising cattle costs a lot of money' – cf clothing, furniture, and especially poultry – which, however, take singular concord), there is the problem of what to call a single – er, beast. Neat. The very familiar cow doesn't always work. Perhaps because of the notional massness of cattle, we don't say 'three cattle' etc either – it doesn't accept all normal quantifiers.

This is probably one reason why the term 'head of cattle' has been drafted into use. 'x head of' is then a compound quantifier usable with 'cattle'; the variant 'a single head of cattle' is also available.

Though this is a strange construction even for a quantifier, other more familiar quantifiers are known to take zero plurals (30 dozen ...).