When an ad with a start and end date is expired (unpublished) via cron, it as republished, even though the current date is greater than the end date, and the ad should therefore remain unpublished.
What happens is that node_save() which is triggered by cron (with the correct value set for $node->status = 0) invokes the node_presave() hook which runs simpleads_node_presave() - this checks for a form field $node->field_ad_date[$node->language][0]['show_todate'] which doesn't exist when a node is loaded via node_load. So because this value does not exist, the module presumes there is no end date and sets the status to published.
I am working on a fix.
Closed: won't fix
1.0
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.