It seems that changing fieldnames is a monumental task since you also have to change all references to them in your app's source code too
Better done in the beginning than regret later. ( I am not talking about the name ID. That is trivial)
Any change is a big task. And the new software should last for several years to come. So it is worthwhile spending enough time to produce a safe and bug-free software.
When table names of field names conflict with reserved words, the work-around we adopt is to escape the names. In Microsoft products enclose them in [] and for MySql `.
Out adofuncs.prg automatically helps escaping the names suitably depending on the database.
But in Oracle and PostGre there is no way. Theoritically we can escape with double quotes but that makes the names case sensitive and has many other side-effects.
Not taking care of this may create unknown bugs that are difficult to locate.
As far as the name ID is concerned, we can provide for specifying a name for the auto-incremental primary key.