all good answers, here are two more reasons
1) unless you are storing these within a static asset, you will be encoding and decoding per-page load, which wastes PHP time
2) If these were being stored in a database you are unnecesarrily weighing down the database prolonging backup process (because of more data).
3) Metrics. Basically you can setup networked logging of assets (even at the server level), then attach images to specific resources, maybe a 1px x 1px image for emails, so you can verify HTML+image version read rates; This also works great for lean micro-sites to test hit-rates, visitor numbers, average pages etc.
Using a base64 will break the ability to measure this, which is far more accurate and unobtrusive than requesting read receipt, using js etc.
N.b. setup does not need to take that long either if you have a sitemap generator (or if your mad enough to write one by hand), you can get the sitemap to generate a hash of the asset name, which is the image file name.