Here are the only settings I think are relevant, if I've missed something, that may be the problem!
command_line /usr/local/nagios/libexec/eventhandlers/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$OUTPUT$' | tee -a /tmp/nagios.log
I've put the tee command in to log if this command was actually being called. There is no output in this log unless I run the submit__check_result manually.
I've only set up the check_cron on the client, and it is being run successfully every minute... so why isn't the submit_check_result being called?