Our installer is written with Inno Setup and we are actually quite happy with it. Yet some customers keep asking for an MSI installer which they could more easily distribute
In response to your edit: yes, what you describe will prevent doing upgrades (other than delete/reinstall) and remote configuration, since the MSI database won't know anything about the contents of your installer.
Many installer packages started MSI 'support' in this way, though: InstallShield did, for example. That's the main reason I dumped them, because installers made in that way are useless for MSI purposes. I don't know if recent versions of InstallShield are better, last time I checked was 5 years ago.