Hola.
El mensaje de Tiempo de espera agotado, problablemente te lo estén dando los componentes ADO, así que puedes usar el siguiente
Truco de Marteens
http://www.marteens.com/trick36.htm
Respecto a lanzar el procedimiento por la noche, o bien puedes hacer un programa Delphi, que lanze el procedimiento almacenado al llegar a la hora fijada (mediante un TADOStoredProc). O bien puedes crear un Plan de Mantenimiento del SQL Server, para que el propio
SQL Agent del SQL Server, te llame al procedimiento. (El Plan de Mantenimiento se crea mediante el Administrador Corporativo de SQL Server, dentro del apartado de
Administración,
Agente de SQL Server,
Trabajos, ...).
Saludos.