If webmin is already started, script does not recognize it and tries to start webmin again. If pid file is deleted, the same thing happes. If webmin is stopped (or pid file is lost) and you try to stop it via "/etc/init.d/webmin stop", it complains about not finding a pid and exits with status 1.
That is not correct behaviour which makes problems for management software that monitors other services, like "monit" or heartbeat. Script should be able to recognize at least that webmin is already stopped.
I will try to write new script for RHEL/CentOS, so you can put it into RPM package, if you are interested.