The table mysql.proc is missing, corrupt, or contains bad data
I had a similar problem a while back, and mysql_upgrade etc refused to fix it. 

In the end I simply took the table structure from a 'good' database and compared it to the 'broken' one. Then made the necessary adjustments. In my case I found that one column had changed slightly.