After adding the pre_get_posts action I noticed an added benefit and an added bug.

Added Benefit:
When viewing the posts in the admin area it will run the pre_get_posts action as well. So it will expire posts even without accessing the front end of the blog. Kinda nice right?

Bug:
When moving the post to the trash it seems to reset the status to expired so you can never delete it. Every attempt to delete it moves it right back to the expired status. I understand why it's doing this, but have to figure out why.

The bug squashing continues.

Loading more stuff…

Hmm…it looks like things are taking a while to load. Try again?

Loading videos…