My best answer would be it depends.
Is the disposable class only used within a single project?
- probably no (though an assert to the same effect might not be bad)
Is the class used by anyone outside of yourself or a small team?
- probably yes
What are the side effects of accessing a disposed object?
- if it will otherwise throw exceptions the above will make your life easier in debugging but the end result is the same in most cases
- if it will work just fine (i.e. reallocate any necessary resources etc) then who cares really
- if it will result in undefined or unpredictable behavior that DOESN'T throw exceptions then definately, especially if you answered no and then yes to the questions above