The problem with using a cron job for something like this, is that it starts taking longer to calculate everyone's money once there's enough players to make the game interesting. The key is to find ways to break the calculation up.
One thing you can do is add a "last_calculation" timestamp to each user, and only do the calculation when something happens where you need to know an individuals money. When a player loads a page that displays how much money they have, or when someone gives them money, are two examples of actions where you would want to do the calculation.
Once you determine what these actions are in your case, you can have these actions check that timestamp, perform the calculation, and update that timestamp before doing whatever they were going to do in the first place.
Doing something like this, rather than using a cron job will let your application scale better. Rather than having a massive load spike every hour when this stuff needs to be calculated, every player might simply have a fraction of a second added to their request every once in awhile.