El problema te lo está dando con el conjunto de caracteres por defecto. Al verlo me dio curiosidad, pues no le veía ningún error y si lo hay:
Código:
CREATE TABLE acceso (
nombre varchar(50) NOT NULL default '',
login varchar(10) NOT NULL default '',
`password` varchar(10) NOT NULL default '',
permisos enum('caja','admon') NOT NULL default 'caja'
) ENGINE=MyISAM DEFAULT CHARACTER SET latin1;
de todas formas, en las pruebas que hice no me admite el poner el conjunto de caracteres por defecto, no sé a que es debido, pero si a esta instrucción le sacas el "default character set latin1" funciona correctamente.
Un saludo.