For anyone reading this, try the Pantheon Sessions plugin. It dumps PHP session data to the database instead of the server /tmp (or wherever) and solves a lot of session error problems, which is what this sounds like.
That is, changing the suhosin.ini settings to allow for impossibly longer request variable name lengths (and every other variable name length I could find in my config file) did not clear up the problem. After downgrading to 2.2.8 I reverted all of my suhosin.ini changes and 2.2.8 is still working just fine.