Sounds like when you are sshing in and connecting you are connecting as whomever@localhost. When you are creating a tunnle, you are connecting as whomever@ip. You need to grant permissions to whomever@%. See if that doesnt' solve the problem.
unfortnately, no, that didn't work eiterh. previously, I was not specifying a database (the help doc indicated that if i did not, it would list all databases), but after issuing grant all on a particular database and then specifying that database, it still gave the same error.