Story:
Try with Delphi XE ... for my current main project, this fixed the error.
Long story:
I ran into the same problem that you have 3 or more levels of nested datasets when there is any error on the database side since Delphi 2010.
In a previous previous version, I used Delphi 2007 without problems, so there was a chance that bad behavior was introduced in Delphi 2009 or Delphi 2010.
midas.dll , , MidasLib. "", , , , . "" , - : OnReconcileError - try/except VCL.
, , , . , , , Delphi XE , SA, .
, , ... , . : , - , , - /. . , " " , .
, Embarcadero, , - , .