mailwatcher is this script:
#!/bin/bash
# set -x
# this was a test, was /bin/sh above, but /bin/sh is a softlink to /bin/dash
# REQUIRES your distros inotify-tools package, assume kde/kmail in use
# but might be adaptable to other agents too
# requires a ~/log directory, so mkdir it before running it
# you will also need to either do the housekeeping of this file, or
# figure out how to make logrotate do it for you.

WatchDir=/var/spool/mail/

# Setup temporary log
Log=mail.log
# put it in my home dir like fetchmail and procmail
Mlog=~/log
# in case it doesn't exist, make it
touch ${Mlog}/${Log}
# the command to send over dbus/dcop to make kmail pull the mailfile
#in /var/spool/mail

# First set method
Method=dcop
if [[ ${Method} = 'dbus' ]]
then
        Cmd="/usr/bin/qdbus org.kde.kmail /KMail org.kde.kmail.kmail.checkMail"
fi
if [[ ${Method} = 'dcop' ]]
then
#or for dcop, use:
        Cmd="/opt/trinity/bin/dcop kmail KMailIface checkMail"
fi

#  Now, do forever
while :
do
        sleep 1
        if [ $(pidof -s kmail) ]
        then
                echo -n "Kmail is running " >>${Mlog}/${Log}
                date -R >>${Mlog}/${Log}
                sleep 1 # delay to give kmail a chance to settle in
                # only start fetchmail once!
                if [ $(pidof -s fetchmail) ]
                then
                        sleep 1
                        echo -n "fetchmail already running " >>${Mlog}/${Log}
                        date -R >>${Mlog}/${Log}

                else
                        echo -n "starting fetchmail at " >>${Mlog}/${Log}
                        /usr/local/bin/fetchmail --fetchmailrc /home/gene/.fetchmailrc >>${Mlog}/${Log} &
                        date -R >>${Mlog}/${Log}
                fi
                sleep 1 # delay to give kmail a chance to get its dcop/dbus sockets setup?
               $cmd
                while [ $(pidof -s kmail) ]
                do
                        # I've found that stderr needs dumped to /dev/null, so
                        InMail=`/usr/bin/inotifywait -q -e close_write --format %f ${WatchDir}` # 2>&1 >/dev/null              
                        # and here it sits until inotifywait exits because of an incoming mail
                        # and time later it will exit, setting $InMail to something, so
                        # recheck to make sure kmail is still about before sending the signal
                        # as dbus/dcop seems to get a tummy ache if there is no receiver

                        if test "${InMail}" = "gene"
                        then
                                $Cmd
#                               sleep 1
                                # log it
                                echo -n ${InMail} >>${Mlog}/${Log}
                                echo -n " @ " >>${Mlog}/${Log}
                                date -R >>${Mlog}/${Log}
                        elif test "${InMail}" = "gene-from_linda"
                        then
                                $Cmd
#                               sleep 1
                                # log it
                                echo -n ${InMail} >>${Mlog}/${Log}
                                echo -n " @ " >>${Mlog}/${Log}
                                date -R >>${Mlog}/${Log}
                        elif test "${InMail}" = "amanda"
                       then
                                $Cmd
#                               sleep 1
                                # log it
                                echo -n ${InMail} >>${Mlog}/${Log}
                                echo -n " @ " >>${Mlog}/${Log}
                                date -R >>${Mlog}/${Log}
                        fi
               done
                # we don't have a pidof kmail, log that its gone
                echo -n "Kmails pid is missing - it has stopped ">>${Mlog}/${Log}
                date -R >>${Mlog}/${Log}
                # Now, kill fetchmail too, and this is ok to do
                killall fetchmail
                # get rid of a waiting inotifywait, but this is not inotifywait instance
                # sensitive and may kill the one for cocoprint.
                killall inotifywait
        fi
        # and should be back in the outer loop, waiting for a kmail PID
done

but... its Apparentely not getting the dbus msg to kmail. and to me its magic so what do I check next?

dbus is running:
root@coyote:/home/gene# ps -ea|grep dbus
    696 ?        00:01:11 dbus-daemon
   1768 ?        00:00:02 dbus-daemon
   1975 ?        00:00:01 dbus-daemon
   2955 pts/0    00:00:00 dbus-launch
   2956 ?        00:00:00 dbus-daemon
  13857 ?        00:00:00 dbus
  13868 ?        00:00:00 dbus

thank you Steven, gene