After playing around with it some more, I'm not sure if commenting out that line is all it takes to solve the problem.
Using OSX 10.9.2, Cubase 5.5.3 now (but ended up at the same assert when I was testing Windows 7 & Cubase 5.5.3 (32-bit) yesterday).
What I do is:
1. open a new empty project, create a new track and load the VST3 version of my plugin
2. change some parameters and store a preset
3. remove the plugin from the channel
4. add the VST3 version of the plugin again
5. load the preset from 2.
I'm not too familiar with the Xcode debugging options, but when I add this line before the assert...
const juce::int32 test1 = (*(juce::int32*) data);
jassert ('VstW' == htonl (*(juce::int32*) data));
... test1 is 34156188 while data is "\x9c.\t\x02".
(My AudioProcessor::getStateInformation does nothing special (just a few parameters stored via XML) and used to work fine before (still does when using Cubase 7 LE.)