Yeah, it is a pain, especially when you have more layers. But it is not MapServer’s fault, since you have to put a lot of information in there!
For WMS and probably for other services, if you don’t put in LAYER’s tag METADATA line “ows_extent”, mapserver keeps computing the extent every time you make a getcapabilities request. You cannot put EXTENT tag into the LAYER only, because strange things happen – seems that depends on the datasource, when the LatLonBoundingBox tag appears. With “ows_extent” this everything OK. Mapserver 4.10
Next time I will have to write some .map manually I will generate it with some simple script!