From the FAQ:
A: A model with Flight ignores terrain for all purposes while moving. However, the distance the model moves is still limited by the length of the move the model is allowed to take. Add the distance the model moved horizontally in relationship to its starting point to the distance the model moved vertically upwards (downwards movement is falling and it is never counted against a model’s movement total) in relationship to its starting point. This value may not exceed the distance allowed by the move the model was making.
I agree, it could be a bit of a curly one, but I think the FAQ isn't saying the model 'moves' up and across then down, but purely measuring the 'distance' the model has moved you add up how much it has moved up to how much it has moved horizontally. Arguably the model has 'moved' in a diagonal line but measuring the horizontal axis and the vertical axis then summing the squares to work out the square of the diagonal distance (from memory) is a ridiculous amount of calculation for a single movement in what is just a fun game. So the easy way to resolve it is just to roughly calculate the diagonal distance by adding the horizontal and vertical distances. That's just my take on it though.
The idea of the vertical change being equal to a change in direction (for models without flight) just to keep it simple is an interesting one, but then (as someone else pointed out) it could be argued if you charge along a horizontal line and up a gentle slope at an enemy on a hill that you are changing direction so that charge is illegal. If it needs clarification it may be simplest to either make it that only a change in the horizontal plane makes the charge illegal, or that only a vertical change of 90 degrees (or onto climable terrain perhaps) makes the charge illegal. Again, just thoughts.