Please check result of 'rcorder /etc/rc.d/*'. If order of clamd and clamsmtpd is right, clamsmtpd may have to wait for 'real' ready of clamd.
Oh, the order is correct already. So there should be some kind of "sleep 10" in clamsmtpd_prestart() so that the clamd has time to properly start up.
... /etc/rc.d/clamd ... /etc/rc.d/clamsmtpd /etc/rc.d/postfix ... /etc/rc.d/freshclamd /etc/rc.d/cron