<blockquote> - We want to reduce the usage of PL/SQL code so most
procedural logic for OpenACS objects will be in Tcl
code. This will speed up development, reduce code
duplication and ease upgrades.
</blockquote>
Maybe it was outside the original scope of OpenACS, but having all the PL/SQL code in the database means that if you have to interface with the datamodel *outside* of OpenACS for whatever reason, you can.
Now in this day and age of XML-RPC and Web Services maybe this isn't an issue anymore, but it still seems that it will be easier to interface legacy systems through the PL/SQL layer rather than the Tcl layer.