Let's make sure we're clear - posts made in code show up and act just like any other post made through the editor.
The difference is, if I go to a post, on the back-end, that I made in code, there are options *BOTH* to publish the post as well as update the post.
The post is clearly published, though, as it's available on the site (and the Facebook autopost even fired and worked), yet the publish button is there and live as if the post wasn't actually published.
So again - functionality seems correct, but for some reason, the system thinks the post isn't published so shows me the publish button.