The only way I could think of doing it is having a profile manager which ran separately and killed or changed settings of various specific programs based on the network you're on. I remember there being such things under XP, and bundled with various PC-Card cellular adapters, but it never working very well.
Apps could do a reverse DNS lookup on your public IP address and then use that to determine if you're on a wireless carrier's network. Though they'd have to hardcode some list of TLDs that correspond to wireless carriers, but it'd be one possible solution to get around the fact that to the computer it just looks like wifi.
Is Marco Polo still around? That's how i used to do SSID aware settings to change all of my mail settings to use ssh tunneled SMTP while at work and switching back again at home.