It should not always be true, no.
However, that property isn't bindable, so it is quite likely that your button isn't changing state because data binding can't bind to that property.
In WPF this is the reason for Csla.Wpf.ObjectStatus, and in Windows Forms you should read this article.
Copyright (c) Marimer LLC