Esta es una variación del problema "mayor n por grupo" que aparece en StackOverflow varias veces por semana.
SELECT
a1.accessid,
a1.date,
a1.time
FROM
accesslog a1
LEFT OUTER JOIN
accesslog a2
ON (a1.accessid = a2.accessid AND a1.userid = a2.userid
AND (a1.date > a2.date OR a1.date = a2.date AND a1.time > a2.time))
WHERE a1.userid = '1234'
AND a2.accessid IS NULL;
La forma en que esto funciona es que tratamos de encontrar una fila (a2) que tenga el mismo ID de acceso y de usuario, y una fecha u hora anterior a la fila a1. Cuando no podemos encontrar una fila anterior, entonces a1 debe ser la primera fila.
Con respecto a su comentario, acabo de probarlo con los datos de muestra que proporcionó. Esto es lo que obtengo:
+----------+------------+----------+
| accessid | date | time |
+----------+------------+----------+
| 1 | 2009-08-15 | 01:01:01 |
| 2 | 2009-09-01 | 14:01:01 |
+----------+------------+----------+
Estoy usando MySQL 5.0.75 en Mac OS X.