Hola lucas05, cuando ejecutas una consulta que va hacer cambios en tu BD (insert, update, delete) debes utilizar solo ExecSQL, por lo que esto "ADOQuery1.Open;" esta demas.
Con lo que te hemos mencionado, tu consulta quedaría asi:
Código Delphi
[-]
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Delete From articulo');
ADOQuery1.SQL.Add('Where id_articulo=:id_articulo');
ADOQuery1.Parameters.ParamByName('id_articulo').Value:=DBGrid1.DataSource.DataSet.Fields[id_articulo].AsInteger;
ADOQuery1.ExecSQL;
Si te da algún error, no te olvides mencionar el error que te esta saliendo.
Saluditos