I believe Orderable.set_orders does not work as it should. We are experiencing random orderings of items each time it is applied.
I think this is because the orders list that gets zipped up with the list of object pks comes from a set of objects pulled out of the database by filter - so it's arbitarily ordered. (Possibly database-specific, this is postgres). I think a solution could be to sort the orders list before zipping it...