Having mac osx 10.6 (Snow Leopard = Darwin 2010) plus Webmin version 1.550 plus Virtualmin version 3.66.gpl, the 'System Information' <index_sysinfo.cgi> lists:
Apache Webserver: Not Running
BIND DNS Server: Not Running
Postfix Mail Server: Not Running
MySQL Database Server: Not Running
The factual state is:
Apache Webserver: Running
BIND DNS Server: Running
Postfix Mail Server: Not Running
MySQL Database Server: Not Running
Request: better detect whether a server (service/daemon) is running.
Sounds like Webmin is looking in the wrong locations for the PID files for those services. Try going to Webmin -> Servers -> Apache Webserver / BIND DNS Server , clicking on the Module Config link, and entering the correct PID file location into the appropriate field.
Path to Apache PID file from 'Work out automatically' to '/private/var/run/httpd.pid' (found with command $ locate httpd.pid).
BIND DNS Server default PID file location(s) was set to custom value '/private/var/run/named/named.pid' and changed to value '/private/var/run/named/named.pid'
After applying configurations, System Information still lists BIND DNS and Apache Servers as 'not running'.
Did you try clicking "Refresh system information" in the top right?