Cita: $query = "UPDATE votos SET last = $time WHERE id = '$cuenta'";
mysql_query($query);
Así es, así funciona un UPDATE, sin embargo comentas que cuando el dato es char sale un numero X y cuando es fecha queda vacio, ok, en mysql el formato de fechas es aaaa-mm-dd (año-mes-dia) y al momento de realizar un INSERT, el dato que vas a insertar en el campo LAST debe ir en ese formato. Por cierto en la variable $time te faltó encerrarla entre comillas simples, tal vez ahi radique el error.
Sin embargo, te sugiero que hagas una prueba manual, ignoro que programas estes usando para manipular las base de datos de mysql, pero de manera manual puedes ingresar una fecha con el formato antes descrito (2008-07-26) en el campo last para verificar.
Te recomiendo le heches un vistazo a las
funciones de tratamiento de datos de mysql.