Why does cron run as an anonymous user?
A cronjob should not have to be run by a specific drupal user. It sounds just like a maintenance task that should run sometimes to do something (send a part of a  mail queue, clear some part of cache or whatever).

In some installs (all of mine, for example) run crons via drush/linux cronjob. cron_safe_threshold is set to 0 (never). 


  Typical tasks managed by hook_cron() are database maintenance,
  backups, recalculation of settings or parameters, automated mailing,
  and retrieving remote data.