This is not the first time I see that issue on one of my client site.
It happened earlier with some clients using WP 3.2.1, I told them to update to the latest version of WP and then it was working again somehow.
Unfortunately my current client is already using the latest version of WP. So I'm not sure what to tell him. :)
I don't have any idea why once the first scheduled time is passed a new one is not incremented. Also it seems like the function is not called at trigger time.
I have read somewhere that this could be because of an overloaded server, though this server seems to be running perfectly fine.
So I'm not sure what to do. I will debug WP functions until I get a hint, yet if someone here has any idea why is this occurring I would be happy to hear it :)