Yes, you are quite right! It seems triggers don't pick up "building-type" (non-physics) objects. Sorry, I didn't realise that.
Right, here is the solution (that I've actually tested this time). Name the trigger "trig" and put it somewhere in the centre of the map (Activation: ANYBODY PRESENT, condition: this).
hint format ["%1 objects on the map", count (nearestObjects [trig, ["Static"], 50000])]
(You don't actually have to use a trigger for this, because you could actually just put the code into any object's init line as long as you are counting statics. If you want to count something other than statics, though, you'd need to use the trigger to wait until the objects spawned in at the start of the mission (Yes, I know there are other ways of waiting for this)).
As Planck said, this will now pick up all static objects on the map, including those that are placed by the map-maker (e.g. 30 on Rahmadi). Thus, open up the same map and put nothing but a man and that trigger in it. This will tell you the number of statics that the map-maker placed. Take this number from the number you get on your complete mission map. It is a bit like weighing yourself and the sack before you put the animal in the sack and stand on the scales. Er, yes. It is.
Sorry I mislead you earlier on...