If we want to cap the time of downloading overhead the latest block to say 1%, we need to be able to download the MAX_BLOCKSIZE within 6 seconds on average so that we can spend 99% time hashing.
At 1MB, you would need a ~1.7Mbps connection to keep downloading time to 6s.
At 10MB, 17Mbps
At 100MB, 170Mbps
and you start to see why even 100MB block size would render 90% of the world population unable to participate in mining.
Even at 10MB, it requires investing in a relatively high speed connection.
And practically speaking, most people would like to be able to use their broadband connection for other things. Offically, my cable service is a 10Mbit/sec connection, but practically I can't sustain more than 1.5Mbps to any single IP address. If I let my bittorrent client full access, it peaks around 1.5Mbps but averages about half that. Your bandwidth needs are further complicated by the fact that once you have downloaded and verified a block, you're expected to then upload that block to your connected peers. Since most broadband connections are half as fast uphill, this limits your connected peer's download to half of what you're offically capable of. In conclusion, anything beyond a 1MB limit is too resource intensive for the at-home full client to be able to keep up with at present, but with the advancements in Internet tech and infrastructure, we can assume that an at home connection would be able to manage a 10-20 MB block within a decade. We would want to aim for the hard limit to be at least this high, while continuing to depend upon soft limits in the meantime.
Also of importance is the fact that local bandwidth and international bandwidths can wary by large amounts. A 1Gbps connection in Singapore(
http://www.starhub.com/broadband/plan/maxinfinitysupreme.html) only gives you 100Mbps international bandwidth meaning you only have 100Mbps available for receiving mining blocks.
International bandwidth is much more complicated than this, with respect to a p2p network such as Bitcoin. Much like bittorrent, the bandwidth for Singapore is functionally replicated for all of the Bitcoin clients in all of Singapore, so it's not true that the international connection is
divided among the many peers all trying to download the same block, it's effectively shared data as if there were a locally available seed on Bittorrent. Granted, it's not the same as saying that all of Singapore could be regarded as one node, and then the block replicates across the entire nation-state from one copy; but once one copy of the block has made it across the bottleneck, the local bandwidth effectively becomes the limiting factor to propagation.