After digging around in the code, I see the problem now. The client (in my case, Titanium) never tells the server how much resource it thinks the player should have. SO, the server can't possibly sync itself to the client regen.
Has anyone tried to build a client from scratch?