All that I can see is that the values that you are using are about 20x higher than the ones I used. I don't think that this should matter so long as everything is consistent
Maybe there is something going on with this, so far.... I have no idea what is going on with the following function.
--> matrix.postRotate(blendedRotation, SHIP_X_ROTATEPOS, SHIP_Y_ROTATEPOS);
It appears that people are using the 2nd and 3rd parameters as some sort of scaling.
If these values are not dead on for whatever they represent, then I suspect that the blendedRotation variable will be skewed towards either one axis or the other.
That's all I've got, we are way out of my league now. I just had a 15 year old flashback of dropping linear algebra after two weeks because I knew I was going to fail it.