My example:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
{
Os->LogOn();
Oq->SQL->Text = "SELECT SYSDATE FROM PUAL";
Oq->Execute();
ShowMessage(Oq->FieldAsDate(0).DateTimeString());
Os->LogOff();
}
catch(Exception& e)
{
Application->ShowException(&e);
}
}

If the statement is valid all is good, but this incorrect statement causes a release version of this program to crash and in debugger the following message box occurs:

http://1drv.ms/1CXodJI

In my XE3 version and in trial versions of XE4, XE5, XE6 this behavior is identical.
In trial version XE7 all is fine.

MD