I think IP changes are prevention for botnets than for class rooms. If you use proxy, you have additional network overhead and maybe you lost anonymity because your proxy have to run somewhere. It's little harder (for script kiddie) to setup fast anonymous proxy correctly. I agree it is mainly security by obscurity, but this should not affect regular users with two three miners...
What is the difference (for performance) is plugged into a worker one powerful or many weak miners?
The difference is
extreme. Miners need fresh getwork every few seconds to crunching actual block. So typically miners download job every 5-6 seconds. From current pool stats you see, that getwork rate is at 85 getworks
per second. Diablo miner for ATI 5970 download ~6 getworks per 5 seconds for 600mhash/s (so approx. 1 getwork per second), but 300khash/s CPU miner call getwork once per 5 seconds (0.2 getwork per second).
Situation 1) All miners are using ATI 5970. For 85 getworks/s the pool performance is 85*600 = 51000 mhash per second
Situation 2) All miners are using CPUs @ 300khash/s, the pool performance is 85/0.2*0.3 = 128 mhash per second
Both for the same server load. See the difference?
Another view can be total getworks per found block. When miner have rate 1 getwork/s and average time for block is 27 hours, it is 97000 getworks/block. When CPU miner has average time 1 year, you need
6300000 getworks/block. You spend much more resources on network overhead and server capacity than 50 BTCs have current value (not counting power needed for miner itself). So mining with such poor CPU miners is completely worthless. Supporting CPU miners in pool is charity from all GPU donators, because pool with CPU miners will never pay itself for server hosting. I'm happy for CPU pools miners crunching blocks on their personal netbooks for their first bitcoin, but I definitely don't want botnet of 10year old crap computers from computer labs.