1. Class::Std lumps together accessor designation and ->new() argument specification as part of the :Field designation in an ad hoc manner. Object::InsideOUt logically separates the two because not all ->new() arguments necessarily tie directly to a field.
2. Class::Std uses a mixture of attributes and specially-named methods. Object::InsideOut is more consistent in using attributes throughout.
3. Class::Std does not allow control over the object ID. Object::InsideOut is more flexible in allowing the developer to specify the object ID if needed.
Basically, I had to break a few eggs to make my omelet. However, I don't feel that there is such a great diversity between the two. Consider the following comparison (sorry, but I can't get it to format very well):