Siempre nos habias pasado el código de actualización... y aunque este tenia algunas fallas de forma no significaba que no debiera funcionar... solo descargando el ejemplo que colocaste fué que encontré la razón pq no te funcionaba...
La cuestión era que tenias un bloque try..except donde TODO el código de actualización estaba dentro del área de excepción y hasta que no ocurriera un error nunca se ejecutaría.
así lo tenias en el ejemplo que subiste:
Código Delphi
[-]
try
if Edit1.Text ='' then
showmessage ('Falta MATRICULA');
except
... end;