I've now got a number of issues related to scheduling.
One is report generation; works when executed manually; gets screwed up when executed via cron. It appears as though it's not reading the report header, therefore logo and css is missing.
Another is a module that updates a field in stock.picking when the record is updated. This works when an action causing the update is manually executed, but doesn't when the same action is executed via cron.
In all cases I'm using the admin user. As I understand it this bypasses ACL, so security of the Odoo user shouldn't be an issue. Am I wrong?
What is different when an action is executed via cron? If it's a permissions or path issue, I can try to work around it. If there is some functional difference, then Odoo cron sucks.