Recent post does not have to do with a length of time, but with the number of posts that have come after it.
Even if those posts come on boards that are not included in your recentposts block.
I assume that is what is going on -- you are showing the recent posts from a small number of boards.
And after that shown posts is made, a bunch more posts are made on other boards. After that, the post disappears from the "recent" block.
Here is why:
The SSI function used by that block only checks so many posts back in your database.
That is to keep it from checking all the way back, potentially millions of posts, to the very first post ever made on your forum. That kind of checking could really slow things down.
In your case, you are already limiting the number of posts to check by limiting the number of boards to check.
So one thing you can do is have a look in SSI.php for 'min_message_id'
where you find that, in the function ssi_recentposts, you may want to change "35" to something bigger.
50 might work. 100 might work. Depending on the ratio between how many new posts are going on the board that goes in your block and how many posts are going places that do not show up in your block, you might need an even higher number. A ridiculously high number will put more burden on the database, and potentially even slow things down when your forum gets busy. The size of "Ridiculous" really depends on the activity of the boards involved calls to the SSI function ssi_recentPosts