MySQL "After Insert" Trigger sigue insertando nulos

Realmente espero que alguien pueda ayudarme con esto, ya que me ha estado molestando durante días. Tengo un desencadenador de inserción posterior en la tabla de mis usuarios que inserta un registro en una tabla de auditoría después de cada inserción. Esto funciona bien si estoy en la línea de comandos ejecutando manualmente la instrucción de inserción. Sin embargo, cuando mi formulario web se inserta en la tabla, todos los valores insertados en la tabla de auditoría son nulos. Estoy pensando que tal vez sea un problema de permisos, así que agregué CURRENT_USER () y también USER () al disparador para insertarlo en la tabla de auditoría. Muestra que el activador está siendo ejecutado por el usuario "admin", que es el propietario del activador.

Aquí está mi gatillo:

DELIMITER ^^
CREATE TRIGGER UsersInsert AFTER INSERT ON Users
FOR EACH ROW
BEGIN

INSERT INTO `users_audit` (`username`, `address`, `email`)
VALUES
(USER(), NEW.address, NEW.email);

END
^^

Esto insertará lo siguiente en la tabla de auditoría: admin @ localhost, null, null

Y aquí están los permisos para el usuario administrador:

GRANT ALL PRIVILEGES ON `MyDB`.* TO 'admin'@'localhost' WITH GRANT OPTION

Como he dicho, funciona perfectamente desde la línea de comandos de mysql. Pero por alguna razón, los valores "NUEVOS" son todos nulos cuando se ejecutan desde un formulario web.

Por favor ayuda. Gracias por adelantado.

ACTUALIZACIÓN en 2/6/2013:

Probé un disparador similar pero con "DESPUÉS DE ACTUALIZAR" y funcionó correctamente. Así que el problema está aislado a la inserción. Y eso también prueba que no es un problema de permiso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta