As I understand it, confirmed here[1], MySQL interprets "localhost" and "127.0.0.1" differently; the former uses Unix sockets if available where the latter uses TCP/IP.
That ought not affect the privileges, as far as I know, but it might have some bearing that I can't think of?
Also, what does /etc/hosts have for 127.0.0.1? Some distros used to have localhost.localdomain rather than localhost, and changing them to localhost has been known to assist[2]
[1] http://books.google.co.uk/books?id=BL0NNoFPuAQC&pg=PA533&lpg=PA533&a...
[2] http://books.google.co.uk/books?id=s_87mv-Eo4AC&pg=PA282&lpg=PA282&a...