Update:
Yes this seems to be related to the cron and the timestamps.
My contest started at 12:06 but the cron was set at 12:00. SO every other cron ran earlier, like 12:01, 12:03, etc. and the wrong post was made and the vote button disappeared. The right post ran, and the vote button appeared if it ran at 12:06 or after (manually).
Temporary fix:
For anyone reading, I have a temporary fix which will fix all issues related to cron.
1) Every month,
after your contest starts, adjust your cron run time to run a minute after the timestamp of the first post (contest start thread). So for example if you set if for 12:00 and the first post was made at 12:03, now, set the cron to 12:04 and you should not have any issues that month. Or:
2) There's a free
add-on on XF that lets you change the post date in the tools menu. You could just adjust the date of the first post (contest start thread) to when your cron is set to run and you should not have any issues that month since all subsequent posts would be at or after that date.
Of course, these are temporary fixes. Thanks for your time.