Hola gonza.
Supongamos que las tablas se llaman: Curso, Rubro y Planes.
Una posible solución sería usar el evento BeforeDelete de Curso para verificar si el registro tiene dependencias,
de ser así, avisar y abortar la operación:
Código Delphi
[-]
procedure TForm1.CursoBeforeDelete(DataSet: TDataSet);
begin
if not Planes.IsEmpty then
begin
ShowMessage('No se puede borrar, tiene registros dependientes'); Abort;
end;
end;
Saludos.