Pues en principio la sesión se debería mantener si no la has cerrado. Solo se me ocurre que no tengas el KeepConnection de la AdoConnection a true, o el loginprompt a false vamos que lo que deberías tener es:
AdoConnection:
* KeepConnection: true
* loginprompt: false
y un timeout alto (30 segundos)
a parte antes de lanzar un storedproc.....
Código Delphi
[-]
frcontrato.sp_nvocontrato.prepared:=false;
frcontrato.sp_nvocontrato.Params[0].asstring:=frcontrato.txtcontrato.Text; frcontrato.sp_nvocontrato.Params[1].asstring:=frcontrato.txtnombre.Text;
frcontrato.sp_nvocontrato.prepared:=true;
frcontrato.sp_nvocontrato.ExecProc;
Me extraña tb que el storedproc no lo tengas en dconexion ya que haces un datamodule metelo ahí bueno eso va en gustos....