You can't do appname squatting very well in the App Store. Even before these measures.
Firstly, Apple doesn't let you know who got the name. Some devs were upset at this because they wanted to buy the name, but it's really for the better because not letting devs talk to one another about purchasing names keeps the whole appname squatting business at bay. After all, if you can't be contacted, then it's really hard to make a few bucks trying to reserve the good names.
Second, well, I think the 120-day limit is intentional and designed to let devs re-register their names, or possibly upload a stub binary. Again, if you really want to squat on the name, you can, but now you have to do a little work and if you fail to pay your $99 the next year, it's all wiped clean anyhow. So devs can upload something WIP and keep the name.
Thirdly, well, I'm sure Apple's got something on apps whose binaries have been rejected and never updated. Also, there's always an accidental chance that your app gets approved, and then you get stuck with it - your app name's taken with a crappy app that's getting horrendous reviews, and you have to start all over again with a new app name, or wait for your dev subscription to expire so you can reclaim it...
(Remember, it's $99/year. Fail to pay up and your apps are removed and the names are freed up again).