function InvalidateRect(hWnd: HWND; const lpRect: TRect; bErase: BOOL): BOOL;
function InvalidateRect(hWnd: HWND; lpRect: PRect; bErase: BOOL): BOOL;
XE2 の Windows ユニットには、オーバーロードされた定義が 2 つあります。場合によっては、後者の宣言のみが存在する以前の Delphi バージョンよりも特別な処理が必要になります。
問題は、どの Delphi バージョンが最初にこのオーバーロードを導入したかです。