Object.extended() makes really elegantly idiomatic methods available on objects. I love it. But occasionally there is a catch; I have run into some pitfalls when passing extended objects to poorly-written third-party libraries. The libraries used 'for in' to iterate over the properties of an extended object passed into a function. They did not filter out properties inherited through the prototype chain via Object.hasOwnProperty(myObj, 'propName'). Since sugar adds inherited properties, extra items showed up in the 3rd party libs iterations that they weren't expecting. This is even more problematic if the 3rd party libs are looking for properties that have the same name as sugar extended object methods.

HOWEVER! If you are reasonably certain that objects will not get passed to 3rd-party libs, Object.extended() is ok. Just a good-old-fashioned word of warning :)

On a related note, 
@davidmsibley has been bitten badly by using sugar's Object.extend() method, which extends ALL objects. He recommends not using it.