I realised that the problem was that Poser doesn't rotate scaling when the object is rotated. In this case, I had made the figure shorter on the Y axis and longer on the Z axis. So when he is standing up he is shorter from head to toe (the Y axis) and fatter from stomach to back (the Z axis). But when he falls over, the scaling doesn't rotate back with him, which means that he is now longer from head to toe (the Z axis) and thinner from stomach to back (the Y axis). I solved it by simply animating the scaling as he falls, so that by the time he's fallen over the Y axis is scaled the way that the Z axis was, and vice versa. Not ideal, but in an animation like that perfectly acceptable, I think.
It actually took longer to type that than it did to implement this solution after it had occurred to me what the problem must be.