Cita: siempre y cuando la hora del servidor este bien.
Creo que no me estás entendiendo el tema de la hora del servidor.
El servidor donde está la base puede estar perfectamente bien , ajustado y funcionando sin problemas, pero si el usuario está en Australia, y el servidor donde está la base está en Puerto Rico, la hora que quedará grabada es la de Puerto Rico...
¿Se entiende ahora?
Eso es porque el formulario que el usuario está llenando se encuentra en ese momento en su PC, en su navegador (IExplorer, Firefox, Opera, etc) con la hora local (Australia), mientras que los procesos de PHP y la base de datos están corriendo en un Server cuyo hardware está en algún lugar de Puerto Rico, con su hora local. Ponerlo en un stored procedure no resolverá el problema porque los SP se ejecutan directamente en servidor, por lo que sería lo mismo que ponerlo en el proceso del script PHP.
Por ello es conveniente que ese dato sea tomado directamente por la interfaz en forma local.