There is a probability to have an unbalanced call to FDataLink.Dataset.DisableControls/FDataLink.Dataset.EnableControls in the methods TDbChartSource.BeforeDraw and TDbChartSource.AfterDraw respectively.
In the method TDbChartSource.AfterDraw the call to FDataLink.Dataset.EnableControls is omitted, if the dataset is closed during a refresh cycle.
Then all data aware components linked to this dataset don't work anymore until the program is restartet.
The fix is to exchange the lines 149 and 150 in the source file.
Here is the corrected method:
procedure TDbChartSource.AfterDraw;
begin
inherited AfterDraw;
try
FDataLink.Dataset.EnableControls;
if not FDataLink.Active or (FBookmark = nil) then exit;
FDataLink.DataSet.GotoBookmark(FBookmark);
FDataLink.DataSet.FreeBookmark(FBookmark);
finally
FBookmark := nil;
VLockedDatasets.Remove(FDataLink.DataSet);
end;
end;