This doesn't sound unreasonable to me, especially as a solo developer. I think it's important to make sure your customers understand that they may not be able to download their installer in the future.
Perhaps sending an email reminder _n_ days before expiration of their one year free maintenance and reminding them of that (and perhaps offering an upsell to renew for an additional year of maintenance)
Just my 2 cents, but I think you should host the legacy installers. You'll have to take some trouble to make it clear that they're unsupported, and made available only as a courtesy to legacy customers. But why not do it? People are bound to lose the one they downloaded and it seems harsh that they own a perpetual license to the software, and you have a copy of it somewhere, but they have no way to access it.
Otherwise, what's the value of having a perpetual license?