Jose, I'm curious how you will detect things like the database api or the Form/List Builder from the toolkits underlying data model. Same goes for the CR API. If you deal with OpenACS through the CR API you do not have to care how OpenACS looks internally, as this is well hidden from you. And if you use OpenACS as a new developer you should interface the OpenACS core using the API and definitely not storing information directly in the database. But maybe my point of view is wrong, I was just asking myself the question "How does the toolkit help me create my new functionality". For this I think it is more important to evaluate the API than the database models.
On the other hand I have to agree though, that if you want to evaluate the *internals* of OpenACS the ERD should give you the best insights (I'm just thinking about the help this ERD will give us to better understand how to make Dynamic Types work ).