Hola pollo_c, si se pueden usar los parametros de la forma que lo estas haciendo, pero también lo puedes hacer utilizando ParamByName de esta forma.
Código Delphi
[-]
MD.Caux.SQL.Clear;
MD.Caux.SQL.Add('insert into alumnos values (:v1,:v2,:v3,:v4,:v5,:v6)');
MD.Caux.ParamByName('v1').AsString:=Edit1.Text;
MD.Caux.ParamByName('v2').AsString:=Edit2.Text;
MD.Caux.ParamByName('v3').AsString:=Edit3.Text;
MD.Caux.ParamByName('v4').AsString:=Edit4.Text;
MD.Caux.ParamByName('v5').AsString:=Edit5.Text;
MD.Caux.ParamByName('v6').AsString:=Edit6.Text;
MD.Caux.ExecSQL;
Sobre el error que te marca, el tipo de dato que tienes en alguno de tus campos no esta coincidiendo con lo que le pasas en tus Edits, todos tus campos son String?? , ya que en todos utilizas AsString, que tampoco habría problema si le pasas como cadena el formato que necesita tu campo (Integer, Date....), si tienes diferentes tipos en tu tabla puedes utilizar AsInteger si es entero, AsDateTime (Fecha hora), AsDate (Fecha), AsFloat, AsBoolean......
Saluditos