
... te respondo de rápido y sin ver tu código (disculpa)...
Mira... para tratar el problema hay que ver que necesitas un dato de referencia para poder borrar...

ignoro si puedas hacer algo como DELETE .... LIMIT 0, 20

, quiero creer en el foro de Base de Datos podrán ayudarte mejor con "esta duda"... pero... lo que se podría hacer con PHP es esto:
- Insertar tu nueva/ultima visita
- Resuperar su id con la función mysql_insert_id():
www.php.net/mysql_insert_id
- Borrar todos los registros que tengan una diferencia mayor de 20 respecto a esa id:
Código PHP:
mysql_query("INSERT INTO visitas...");
$id= mysql_insert_id();
mysql_query("DELETE FROM visitas WHERE id<=($id-20)");
....

¿no siempre será 1 solo registro que cumpla esa condición???.. entonces igual podrías borrar el registro con la id más baja, para ello puedes ocupar la función MIN() de SQL... Habrá que pensar en las posibilidades... pero esto que te digo estoy seguro que serviría...
Ojo: Entoy pensando en que la id es un valor autoincrementable...
Saludos!