Ah, well. I don't use the newest version, so i didn't had those methods.
Well, since you have the battle object as parameter it should be really to use it like this:
BallHandlers::ModifyCatchRate.add(:LEVELBALL,proc{|ball,catchRate,battle,battler|
if PLAYER.level>battler.level...