You were right : there is a lot of places where hard coded 'AS' keyword for table alias can / should be replaced by a keyword related to adapter :

In adapters :
* DBAdapter::getDeleteFromClause
* DBPostgres::getDeleteFromClause

In unit tests : 
ModelCriteriaTest::testDeleteUsingTableAlias()
In a lot of places inside SubQueryTest and BasePeerTest.

Let me know if you are ok by the way I managed this issue in my first commit. If so, I will pull a new commit once the job is done.