Something even more strange in my testing (FreeBSD, Exim 4.83 from ports):
acl_check_mime:
warn logwrite = mime_content_type=$mime_content_type
logwrite = mime_filename=$mime_filename
decode = default
logwrite = mime_decoded_filename=$mime_decoded_filename
Test message as received:
===========================================================================
Message-ID: <20140730140329.GE786@???>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="/2994txjAzEdQwm5"
Content-Disposition: inline
User-Agent: Mutt/1.4.2.3i
--/2994txjAzEdQwm5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
--/2994txjAzEdQwm5
Content-Type: application/zip
Content-Disposition: attachment; filename="price.zip"
Content-Transfer-Encoding: base64
UEsDBBQAAgAIALKujDAkU6NQQBQAAABaAAAJAAAAcHJpY2UueGxz7VwJjCXXVb1VXb1vv/dl
===========================================================================
mainlog shows that acl_check_mime was called only once,
wasn't called for attachment:
2014-07-30 17:03:41 +0300 1XCUTl-0008SV-0T mime_content_type=multipart/mixed
2014-07-30 17:03:41 +0300 1XCUTl-0008SV-0T mime_filename=
2014-07-30 17:03:41 +0300 1XCUTl-0008SV-0T mime_decoded_filename=/var/spool/exim/scan/1XCUTl-0008SV-0T/1XCUTl-0008SV-0T-00000
2014-07-30 17:03:41 +0300 1XCUTl-0008SV-0T <= lena@??? H=mx188.mail.ru
[94.100.177.79] I=[82.146.51.205]:25 P=esmtps X=TLSv1:DHE-RSA-AES256-SHA:256 S=10094 id=20140730140329.GE786@???
2014-07-30 17:03:41 +0300 1XCUTl-0008SV-0T => lena <lena@???> R=localuser T=local_delivery QT=0s DT=0s
2014-07-30 17:03:41 +0300 1XCUTl-0008SV-0T Completed QT=0s
If without "decode=default" then also acl_check_mime was called only once.