It could be that recent revisions to GameKit are simply a tech demo for blocks. Or, that the "on return" functionality of certain GameKit APIs is just too inconsequential to deserve a dedicated delegate class, and blocks now fulfill the function of an informal protocol.
Though it feels like a subjective question, perhaps there is a definitive answer: "Why does GameKit's API split itself between delegate classes and blocks?"
Edit: see the docs at http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/