Hey Kevin,
You're right on all counts--though most of the install already happens in the virtualmin-base package (which is downloaded fresh when you start the install), and so it is already rather close to your ideal...it just doesn't look it. It also changes very infrequently...there have been about four versions posted in the six months that its been in use, while we're up to 27 on the virtualmin-base RPM.
Nonetheless, I agree that it needs to do less and be more resilient to change. The download/copy step of the install is one of the more annoying aspects of the installation, and so I want to minimize it. Actually, I believe we'll be removing it altogether in another few days--I'm planning to begin offering a cut/paste command line that can download the installer and run it. So, all you'll have to do to install will be to copy a line like:
wget -O -
http://serial:key@software.virtualmin.com/install.cgi | /bin/sh
Or something along those lines. It'll always generate the latest install.sh and run it.
As for logging, the next release pulls in log4sh and does a lot of extra logging to /root/virtualmin-install.log. Before we call this thing stable, it will also have the ability to email me if a problem occurs so that we'll better be able to resolve install issues. It'll also lead to less stdout spewage during install--but one can review the log to find out all of the stuff that now just scrolls by. Version EA2 will include all of these changes. Hopefully, this weekend.