Ok, I got a setcash function working fine.
However, there's a problem. It appears the correct player_team event is fired when the user chooses a team, but the player is only given the amount of money specified in mp_startmoney when he or she selects a model. Which would be fine except that no event seems to be fired when a model is selected.
I'll have to just do -800 cash on round_start.