...
begin
IBScript1.Database := IBDatabase1;
IBScript1.Transaction := IBTransaction1;
IBScript1.Script.Add('SET TERM ^ ;');
IBScript1.Script.Add('CREATE OR ALTER PROCEDURE FOO( AMOUNT INTEGER )');
IBScript1.Script.Add('RETURNS( RESULT INTEGER )');
IBScript1.Script.Add('AS');
IBScript1.Script.Add('BEGIN');
...
IBScript1.Script.Add(' SUSPEND;')
IBScript1.Script.Add('END^');
IBScript1.Script.Add('SET TERM ; ^');
IBScript1.ExecuteScript;
end;