Prueba a poner una línea para que ejecute Prepare a propósito.
Código Delphi
[-]
IBTransaction.StartTransaction;
IBQuery.SQL.Text := 'INSERT INTO Templates (Id, Value1, Value2, Value3'+ ' VALUES (:Id, :Value1, :Value2, :Value3)';
IBQuery.Prepare;
Deberás ponerlo después de cada StartTransaction o después de cada vez que cambie el SQL del Query.