Not even looking at the code I see a issue.
If this is a separate page from the forum.
The cache folder is only updated when someone is visiting the forum. Even though you may have a time limit imposed.
So if you have no activity on the forum the time you view the page the cache file you reference will not update until there is some activity.