Creo que la solución depende de si es el formulario principal o no porque cuando minimizas el principal en realidad minimizas la aplicación y el formulario sólo se oculta, así que lo que se restaura es la aplicación y no el formulario.
Si éste es el caso (el formulario principal), entonces puedes usar una componente ApplicationEvents (pestaña Additional) y valerte de su evento OnRestore.
Si es para otro formulario, puedes crear un manejador para el mensaje WM_SYSCOMMAND:
Código Delphi
[-]
unit Unit2;
interface
uses
Windows, Messages, Classes, Controls, Forms, Dialogs;
type
TForm2 = class(TForm)
private
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.WMSysCommand(var Msg: TWMSysCommand);
begin
inherited;
if Msg.CmdType and $FFF0 = SC_RESTORE then
ShowMessage('Restaurado');
end;
end.
// Saludos