Si entiendo correctamente lo que quiere decir con round-robin, entonces puede hacer algo como
SELECT id, url
FROM urls u CROSS JOIN
(
SELECT MIN(id) min_id, MAX(id) max_id
FROM urls
) m
WHERE id > IF(? >= max_id, 0, ?) -- last shown id goes here instead of placeholders
ORDER BY id
LIMIT 1;
Almacene (en sesión, archivo, otra tabla, etc.) y pase a su consulta el último id
mostrado o 0 para la consulta inicial.
Esto le dará la siguiente fila o la primera nuevamente si llegó a la última. Esta consulta seguirá funcionando si tiene espacios en blanco en id
s.
Aquí hay un SQLFiddle demostración