I have a similar problem, but I need to describe it point by point.
I have a stage machine where I had installed a fresh WP 3.2.1.
Here I add a new theme, setup basic stuff and add some plugin. The most important (and heavy!) of them is eShop. Anything is working fine.
So I move the DB and the code dump to the production server.
I follow this howto:
http://www.semiologic.com/resources/wp-basics/how-to-move-a-wordpress-site/
And the frontend is working exactly like I expect. My user is accepted while I login myself BUT I can’t access to the Dashboard, I have this error message:
You do not have sufficient permissions to access this page.
With some tactical grep 🙂 I follow the php code until I find differences from stage (working) site and production (not working site). I found the trouble into the file:
/wp-admin/includes/plugin.php
into the function get_admin_page_parent() I have the global array $submenu void.
Why? It’s not easy to find the right place where $submenu is filled!
Thanks to all.