No mencionas el mensaje de error que te devuelve la aplicación.
De todos modos, creo que se trata del "Open".
En el caso de que no se devuelvan datos, deberías utilizar ExecQuery.
Además, debes asignar los parámetros antes de ejecutar el query o abrir una tabla.
Código Delphi
[-]
IbQuery1.Close
IbQuery1.SQL.Clear;
IbQuery.Text:=' INSERT INTO TABLEX (CAMPO1, CAMPO2, CAMPO3 ...)
VALUES (:PCAMPO1, :PCAMPO2, :PCAMPO3 ...) ';
FieldByParam('PCAMPO1').AsInteger := StrToInt(Edit1.Text);
IbQuery.ExecQuery;
IbQuery1.Close;
IbQuery1.Transaction.Commit;
...