Hola donpedro.
Si no entendí mal tu consulta, no sería una modificación, en realidad es agregar un nuevo dato que corresponde a determinado curso.
En ListBox2 se van añadiendo las materias correspondientes al curso, por lo que antes de guardar el nuevo dato agregado, este deberá encontrarse en la última posición de este componente.
Entonces creo que tendrías que hacer:
Código Delphi
[-]
procedure TForm1.btnModificarClick(Sender: TObject);
begin
ATMATERIAS.Append;
ATMATERIASMATERIAID.AsString:= Edit1.Text;
ATMATERIASDESCRIPCION.AsString:= ListBox2.Items[ListBox2.Items.Count-1];
ATMATERIAS.Post;
end;
Saludos.