i havnt read every post in great detail, but it doesnt seem like your actual question has been answered, so ill give it a try.
AFAIK, changing __dict__ to be an ordereddict is fundamentally impossible in python 2. __dict__ is a builtin language construct hardcoded into the C API. There is no way to mess with it. Apparently this is different in python 3, but I dont know much about that. -- http://mail.python.org/mailman/listinfo/python-list