after playing challenge mode for a while I end up with large numbers of guest who have no money wandering arround complainin they do noe have enough money to go on rides
If you look at peeps leaving the park, you'll see that they all leave after a certain amount of time on average. This time increases the happier they are, but it's still time-based. Nothing else.
Peeps also have a very low chance of using ATMs., like 10% for families, 5% for teens, and almost 0 for adults. Which makes sense because if you could make that happen at will, you'd never run out of money.
Bottom line is, for the most part, the money that peeps have when they enter the park is all they'll ever have, but no matter how fast they spend it, they'll still remain in the park for a roughly fixed amount of time. Therefore, if you have a bunch of "angry ghosts" wandering around the park complaining they have no money, it's because you took their money too fast. You need to scale your prices down so that peeps run out of money about the time they'd want to leave anyway. Note that this puts a cap on how much money you can make per month. No matter how you slice it, peeps will only spend $X/hour because they spend a roughly fixed amount of time in the park regardless of money. Thus, setting up your prices to maximize the rate of extracting money from peeps is the wrong strategy. I find leaving most prices at default works the best.
A corollary to all this is that the only way to increase monthly income is to increase the rate at which peeps arrive in the park bringing more money in. Which means increasing park rating by adding stuff. Tweaking prices doesn't affect his because the vast majority of peeps have a fixed amount of money and will stay in the park for a fixed amount of time.
All that said, the "angry ghosts" don't hurt your park rating enough to notice, unless you really go overboard taking their money too fast. Unhappy thoughts are not created equal. Even if the peep has spent the last half hour complaining he's broke, he'll still leave happy. So don't sweat it too much.