Maybe one shouldnt rely on it, but I'd hope that anybody writing a subclass of one of my classes would be calling
$self->SUPER::new(@_) and so at least initialize my class the way it should be, instead of just overwriting the 'new' method. Theres not much use in inheriting, if you're not using what the module provides. Of course, that doesn't stop the overwritten method killing the contents of the object, there are ways to hide them, if you're that worried about it (theres a lovely chapter in the Camel about objects :)..
I guess you either hide everything, document properly, or do it another way.. As the book says, Perl doesn't lock you out, it just hopes you're polite enough not to wander into its space. (or something similar..)
C.