This might just be highlighting a failure of our API.
You could be using a simple db API which would hide the database implementation from you. And then you could overload the db API to handle each database, and have a method of overriding it for Oracleisms or Postgres-isms.
Would be a couple hours work, much less time than that spent collectively on talking about all this.
Converting old code to the new API would be work, however. But again, the win is a larger community of developers, and an even greater ability to move to other databases.
And better code. You could rip out a one of the parts of OpenACS that are frustrating to code for, like the .xql files.
Not volunteering to do this. But I believe Tom Jackson even has some code (to do this at least part of this) that he's touted to the community many times, to little avail (probably because nobody realized how valuable this can be).
The nice thing about a good API like this is you can also build on it, with code generation, etc...
Jade