Hola,
Yo normalmente uso un campo de tipo DATE o DATETIME (segun necesidades). Para grabar la fecha actual del sitema uso la funcion PHP date(), asi:
Código PHP:
$consulta="INSERT INTO tabla (fecha) VALUES (".date("Ymd").")";
Luego para recuperarla de la BD hay varias opciones, todas usando funciones de MySQL dentro de la consulta.
La primera opcion es si solo vas a usar la fecha recuperada en un solo formato. En ese caso uso la funcion MySQL
date_format() con el formato a utilizar.
La segunda opcion es si la fecha recuperada la quiero usar en varios formatos dentro del codigo PHP. En ese caso uso la funcion MySQL
unix_timestamp() para leer la fecha y luego uso la funcion de PHP date() para darle los distintos formatos.
Espero haber sido de ayuda.