Respuesta simple: no se puede, ni en Delphi, ni en Lazarus, ni en C++. ¿Porqué? Bueno... no sé porqué, así funciona la cosa. Los archivos pueden crecer, pero no encogerse. Cosas de la vida, supongo.
Los archivos tienen los datos adentro, y uno puede agregarles algo al final o sobre escribir algo en el medio, pero nunca borrar algo. Lo que normalmente se hace, es volver a crear el archivo sin el dato que se quiere hacer desaparecer. También se suele usar un esquema de marcado de registros a borrar. Es decir, el registro no se borra, pero se lo marca como borrado y no se lo tiene en cuenta nunca. Se supone que el sistema está hecho de tal forma, que tarde o temprano se cree el archivo de nuevo, y al no tener en cuenta estos registros marcados, no se guardan. Con lo que a la larga es como borrarlos.
Lo que no me queda claro es si tu archivo es de texto o de registros. ¿Cuál es la declaración de Tarchivoestudiantes?