Scheduled event won’t fire

The cron arg usage looks weird. The insert id will return garbage by the time your function is called.

By the same token, I believe better schedule it always, with the id argument, on insert, if this if for logging. Else you’ll be throttling your logs, basically.

Lastly, are you sure that wp_mail() is working?