No creo que la culpa sea del call. Igual el propio sistema de juego de tanto bucle acabó detectando el comando "end". yo quitaría ese end y en vez de call pondría goto que me gusta más. Aunque lo mejor para hacer un bucle igual es jugar con return...