In 16w41a this bug has changed significantly.
Bug summary for 16w41a+:
If you activate an observer by updating him, then start moving the observer while it still gives out power, and then reload the game before the observer finishes moving, then the rotation of the observer will change.
If the output of the observer was facing into the +y direction, he will rotate to face into +z.
If he was facing into +z then he´ll face into +x.
If he was facing into +x then he´ll face into +y.
Same happens with negative directions. -y goes to -z. -z goes to -x. -x goes to -y.
Here´s a video demonstrating the bug:
Initial bug report (fixed in 16w41a):
If you place an observer block with /setblock it will always face in the positive z / south direction, independent of which additional data value you type in the /setblock command.
You can verify this by using the commands "/setblock ~ ~ ~ observer 1", "/setblock ~ ~ ~ observer 2" etc. and seeing that they all face in the same direction.
If you move an observer with a piston and reload the game while the observer is moving, then the observer will face into the positive z / south direction.
You can verify this by placing down a piston, then place an observer facing upwards in front of the piston, then activate the piston and quickly relog before the piston finishes his extension. After that you will see that the observer no longer faces upwards but south.
I post these two bugs in one bug report, because they´re probably related.