Cita: Y la pregunta del millón es ¿cómo resuelven los programadores php experimentados este problema?
Yo no lo resuelvo. Ni siquiera lo considero un problema.
En las tablas guardo un campo datetime de control con el atributo de mysql ON UPDATE CURRENT TIMESTAMP y valor por defacto CURRENT_TIMESTAMP. dicho campo lo guardo oculto en el formulario que muestro al usuario.
Cuando el formulario viene para editarse verifico si esa fecha corresponde con la de la base de datos, si es diferente es que alguien metio mano en el medio, no piso los datos, le pregunto al usuario que es lo que quiere hacer y que el asuma la responsabilidad.
Recuerda que los datos son del usuario no del sistema, y por lo tanto es el usuario el que debe hacerse cargo explicitamente de cada alteración de estos.