(editado por problemas de formato)
hola michael,
supongo que la entrada que te molesta es: 1200X<ENTER>, pero esa no es una entrada válida. la entrada correcta sería 1200<ENTER>X<ENTER>.
la solución publicada queda esperando cuando pones 1200X<ENTER> porque lee el 1200 en una variable real, y luego consume toda la línea (es un readln); de esa forma, el X nunca se cargó en ninguna variable. y el siguiente read queda esperando datos para WHILE
saludos
luis