Benutze zukünftig den Debugger, damit du siehst, wo der Fehler passiert. Vielleicht wärest du dann selbst auf die richtige Idee gekommen.
Der Fehler dürfte durch dein "ClientDataSet1.Post" entstehen.
Das ClientDataSet1.Edit ist völlig überflüssig. Du setzt damit den Datensatz, den du löschen willst in den Edit-Modus. Danach löscht du diesen dann. Ich wäre nicht mal auf die Idee gekommen, das so zu machen und hätte eher vermutet, dass dort eine
Exception auftritt.
Und für ClientDataSet1.Delete benötigst du kein ClientDataSet1.Post. Das Post ist nur für neue Datensätze oder Datensätze, die geändert werden.