1) Si es eso.
Cita: onsubmit = "return verificar1();"
No es estrictamente necesario puedes validar en el servidor....
En cuanto al id y el name del formulario no tiene porque ser el nombre del fichero....
2) No.... Si que acaba siendo un bucle pero no con un do ... while.
Para poder lanzar una consulta lo que necesitas es una petición al servidor, no una nueva url, es decir la petición la puedes hacer al mismo fichero... el servidor hara una cosa u otro si recibe o no por post los datos del formulario.... Y el "bucle" se producirá porque mientras no se hayan insertado datos correctos mostrarás los datos introducidos con el aviso de que hay algo mal.... en el momento que valide haras otra cosa y se saldrá del "bucle"....