bpy.context.selected_objects does not return an array of objects in the order in which they were selected. In fact, the order of this list seems completely random.
Please don't write back that this is not a bug, but a feature request. :)
this is not a bug, but a feature request :)
Blender doesn't actually keep track of selection order internally. It's just objects with selection flags. The order of the list is probably just the order of objects in the global scene objects list.
It was never actually advertised or even intended that selection order would be returned, so I'm closing this one.