This sounds like an odd issue. Have you customized the advanced filter settings for the blog post control? By default it will display the posts that are visible and live: http://screencast.com/t/eYVGjMENzh5y
As you know every item has 2 versions in the database master and live and when it is edited a third temp one is created. To get a better, please, check the sf_blog_posts table in the database and check how many entries are there for that blog post. Also, you can check the visible column if it is 1 for all items.
If you are using a version before 6.0, would it be possible to disable the L2 cache by going to Settings-Advanced-Data and set Enable Data Caching to False. Save and restart just in case. It would also be helpful if you could delete the post on backup of the project and recreate it. Also, if the issue persists, please, open a support ticket so we can examine the project locally.Regards,