Thanks for all your suggestions. I've tried them all, and I've read everything I can about cron that I can find.
My cron now runs but I have the output of the cli/cron being feed to my email while I have been debugging (that is, I do not have the /dev/null argument currently - I'll add that when the cron is running cleanly). The output is currently
!!! <p>Error: database driver problem detected</p>
<p>The site administrator should verify server configuration</p><p>PHP has not been properly configured with the MySQLi extension for it to communicate with MySQL. Please check your php.ini file or recompile PHP.</p> !!!
But I've checked my php.ini, php version, mysqli etc and can find no fault.
Is this a bug in the CLI/cron script where the accept is checking for mysqli which is in fact now built in to php rather than needing a directive in the php config and ini files?