If this doesn't already, would you ever consider making this add on insert posts into the table pb_xf_post (/pb_xf_thread)
and on a cron job to post, move it from pb_xf_post (/ xf_thread)
to xf_post (/xf_thread)
?
This is because if you create your 1st scheduled post for 1 year away, it would have a post id 1 with a date 1 year in the future. If that's inserted below an ID of 10000, it's obvious that it was posted in the past but not shown until the present date.
If you moved it from another table, with the same schema, to the xf_post (/xf_thread)
table, it would look like a scheduled post was posted as regular (to those that know).