Lo que pasa es que los TIBDataset exigen que exista una clausula select, las demas propiedades SQL son opcionales y creo que tu no utilizas el select.
Me da la impresion que por esos lados puede ser el problema, porque en tu tabla no existe un campo 'Borrar'.
Bueno estas con Firebird 2 y yo no he trabajado con esa version. Porque no pruebas con el nombre del parametro en mayusculas 'BORRAR'.
La otra posibilidad aunque queda algo feo es cambiar tu segmento de codigo de manera que no utilices parametros, asi:
Código Delphi
[-]
procedure TdmDatos.BorrarDatos(indice: integer);
begin
with dstDatos do
begin
DeleteSQL.Clear;
if (indice < 4) then
begin
DeleteSQL.Text := 'DELETE FROM Datos WHERE Bascula = ' + IntToStr(indice);
end
else
DeleteSQL.text := 'DELETE FROM Datos' ;
ExecSQL;
end;
end;
Si no te funciona porque no utilizas un procedimiento almacenado.