Kicken,
Thanks for the response. I did consider the last-modified-date, but my content isn't as conducive to that option like your blog example.
I am working on a Student Information System, so most of the content will change pretty regularly, which I know kind of defeats the effectiveness of caching, but things like a course's student lists and assignment lists should solidify as a semester progresses thus increasing its effectiveness.
I could see where hashing just the content I am concerned about might save some processing, but that would also mean I would need to define what content to hash on each page. The beauty of using the output buffer was I can include the same script on every page knowing that the final output would be hashed and compared just before it is sent.
The other aspect of my project I probably should have mentioned was that most of the content is AJAX driven, so that allows me to separate my layout which would be cached independently of my content.
Thanks again for your insights, that has helped me thing through some other aspects of this.