Hola
Curioso un error de sintaxis.

Prueba esto:
Código Delphi
[-]
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Insert Into facturaTemp values ( :num, :art, :cant, :bpre )';
ZQueryBD.Params[0].Value := intToStr(numero);
ZQueryBD.Params[1].Value := arti;
ZQueryBD.Params[2].Value := Edit2.Text;
ZQueryBD.Params[3].Value := Prec;
ZQueryBD.ExecSQL;
o esto:
Código Delphi
[-]
ZQueryBD.SQL.Text:= 'Insert Into facturaTemp (ID, Articulo, Cantidad, Precio) values ( :num, :art, :cant, :xpre )';
ZQueryBD.Params[0].Value := IntToStr(numero);
ZQueryBD.Params[1].Value := arti;
ZQueryBD.Params[2].Value := Edit2.Text;
ZQueryBD.Params[3].Value := Prec;
ZQueryBD.ExecSQL;
Me comentas que paso.
saludos